最初我试图将 Javascript JSON 对象发送到 PHP 页面,但没有成功。使用以下测试代码:
var testobj = {
"test1":"test1data",
"test2":"test2data",
"test3":"test3data"
};
alert(testobj.test1);
$.ajax({
type: "POST",
url: "ajaxtest.php",
dataType: "json",
data: testobj
})
.error(function( msg ) {
alert( "Error: " + msg );
})
.success(function( msg ) {
alert( "Success: " + msg );
});
从不发送数据,总是返回错误。
删除“dataType”属性或将其定义为“json”以外的任何属性都会返回“成功”,但仍然没有发送数据。
我可以使用与“数据:”值完全相同的对象代码,它确实会被发送,但在我使用 JSON 对象时不会。
所以我发送一个数组,而不是:
var testobj = new Array();
testobj = {
"test1":"test1data",
"test2":"test2data",
"test3":"test3data"
};
alert(testobj.test1);
$.ajax({
type: "POST",
url: "ajaxtest.php",
data: testobj
})
.error(function( msg ) {
alert( "Error: " + msg );
})
.success(function( msg ) {
alert( "Success: " + msg );
});
完全相同的代码,除了 (a) 我将变量定义为数组而不是 JSON 对象和 (b) 我从 .ajax 调用中删除了“dataType”属性。
使用 $_POST 数组获取目标页面上的 Array 元素。
无论如何,我从来都不关心 JSON 作为一种传递数据的方法,所以这并不完全让我担心。但我确实想知道 jQuery (v.1.9.1) 的当前状态
我的 JSON 构造有问题吗?通过 jQuery AJAX 发送 JSON 对象有什么用?为什么'dataType:“json”'属性有问题?