【发布时间】:2012-01-17 02:54:03
【问题描述】:
$.ajax({
url: 'test.php',
type: 'GET',
dataType: 'json',
data: "last_name=SMITH&first_name=JOHN&middle_name=J",
contentType: "application/json; charset=utf-8",
success: function(response) {
var len = response.length;
for (var i = 0; i < len; i++) {
var name = response[i].LASTNAME + ", " + response[i].FIRSTNAME + " " + response[i].MIDDLE
var sysid = response[i].ORDERID
$("<li></li>")
.html("<a href='result.php?orderid=" + orderid + "'>" + name + "</a>")
.insertAfter($("#questions-divider"));
$("#questions").listview("refresh");
}
}
});
});
这适用于 GET。我用post尝试过,但失败了。我的 php 页面中有 _POST。我将数据参数更改为:
data: '{ "last_name": "SMITH", "first_name": "JOHN", "middle_name": "J" }',
但这也失败了(使用 get 和 post)。我的 php 页面返回它在我的有效负载中找不到 last_name。 $_POST['last_name'] 永远不会在我的 php 页面中获取数据。使用 GET 发送它,它可以工作(我将我的 php 更改为使用 $_GET 进行测试,然后返回到 $_POST)。
编辑:我试过了,但没有帮助:Cant get jQuery ajax POST to work
编辑:也:jquery $.post empty array
编辑:我能够做到这一点。不知道为什么格式化数据失败:
//data: '{ "last_name": "SMITH", "first_name": "JOHN", "middle_name": "J" }',
data: "last_name=SMITH&first_name=JOHN&middle_name=J",
//contentType: "application/json; charset=utf-8",
contentType: "application/x-www-form-urlencoded",
【问题讨论】: