arrays - $.Ajax 将字符串作为数组发布到 PHP 脚本
问题描述
我试图让 Ajax 将一组字符串发布到我的 PHP 脚本,但 POST 的 var_dump 导致数组{0}。如果我尝试 json_decode Post 我得到 json_decode 期望参数 1 作为字符串但给定数组。如果我控制台记录 stringify 变量,我会得到我想要在控制台中显示的结果。我似乎无法让 Ajax 将该字符串发布到 PHP 脚本,代码如下
<script>
$(document).ready(function(){
$('button[id=add]').click(function(event){
event.preventDefault();
var form_data = {
submit: $('input[name=submit]').val(),
id: $('input[name=id]').val(),
name: $('input[name=name]').val(),
price: $('input[name=price]').val(),
quantity: $('input[name=quantity]').val()
};
var json_data = JSON.stringify(form_data);
$.ajax({
type: 'POST',
url: 'test.php',
dataType: 'json',
data: json_data,
success: function(data){
console.log(data)
}
});
});
});
</script>
解决方案
$_POST
仅在您发送或x-www-form-urlencoded
时填充multipart/form-data
。您正在发送 JSON。不要发送 JSON
$(document).ready(function(){
$('button[id=add]').click(function(event){
event.preventDefault();
var form_data = {
submit: $('input[name=submit]').val(),
id: $('input[name=id]').val(),
name: $('input[name=name]').val(),
price: $('input[name=price]').val(),
quantity: $('input[name=quantity]').val()
};
$.ajax({
type: 'POST',
url: 'test.php',
dataType: 'json',
data: form_data ,
success: function(data){
console.log(data)
}
});
});
});
推荐阅读
- wordpress - Woocommerce - 如何添加大量变化?
- reactjs - 如何使用 Jest 和 Supertest 在每次测试之间清除 cookie?
- git - Android Studio “致命:CRLF 将被 LF 取代”
- regex - Google DataStudio - 正则表达式提取页面标题的第一部分,在 > 字符之前
- google-cloud-dataflow - 基于模板的数据流作业使用相同的临时目录
- c# - Acumatica Bql 与泛型 C#
- jquery - 对象未从 AJAX 绑定到 Spring 控制器
- javascript - 如何将已解决的承诺的内容存储在变量中
- android - xamarin android上下文菜单的意外行为
- github - 在 GitHub 上找到至少一个标签的问题