您好我是使用ajax和json的新手所以我在下面的示例代码尝试之前将它用于我的项目但是当我尝试将信息发送到我的PHP文件时遇到了一些问题。我已经格式化了输入,所以它是JSON格式的,并且据我所知,得到了Ajax命令,正常工作。 但是当我运行代码时,我正在查看使用FireBug发布的内容,并且它表示我发送给PHP的输入值未定义。我不确定为什么会发生这种情况,因为我使用单个输入工作。我也尝试在我的HTML代码中使用json.stringify,然后在PHP文件中json_decoding它作为一种解决方法,但我无法让它适用于单输入案例。任何帮助将不胜感激。
HTML:
var sendInput = [
{"fruit":"apple", "amount":"5"},
{"fruit":"pear", "amount":"15"}];
var sent = $.ajax({
type: "POST",
data: sendInput,
dataType: "JSON",
url: "AjaxTest.php",
success: function(data) {
window.alert(data);
window.alert("Works");
},
error: function() {
window.alert("Failed");
}
});
PHP: 现在没什么特别的,只要在$ _POST中回复任何值。
答案 0 :(得分:0)
$ .ajax期望data属性是字符串或普通对象。但是你已经定义了一个数组。如果这是您要发送的内容,请尝试以下内容:
var sendInput = {"myinput":[
{"fruit":"apple", "amount":"5"},
{"fruit":"pear", "amount":"15"}]};