Javascript 无法处理来自jQuery.post()的响应
我有以下代码Javascript 无法处理来自jQuery.post()的响应,javascript,jquery,ajax,Javascript,Jquery,Ajax,我有以下代码 $(function() { $('.apply').click(function(e) { var z = $(this).attr('z-id'); var r = $(this).attr('r-id'); $.post( "/r-set-z", "z_id=" + z + "&r_id=" + r, function(data) {
$(function() {
$('.apply').click(function(e) {
var z = $(this).attr('z-id');
var r = $(this).attr('r-id');
$.post(
"/r-set-z",
"z_id=" + z + "&r_id=" + r,
function(data) {
alert(data);
}
);
});
});
它工作正常,只是我没有看到带有响应数据的警报。服务器上一切正常。每次我点击相应的按钮,所有的数据处理都完成了。服务器返回的数据类型为application/javascript
,包括以下内容
{"msg": "save successful"}
为什么单击按钮后没有警报?试试下面的方法
alert(data.msg);
另外,请确保回调位于正确的位置尝试将服务器的响应返回为
应用程序/json
,或者在$中指定json。post
:
$.post(
"/r-set-z",
"z_id=" + z + "&r_id=" + r,
function(data) {
alert(data);
}
, 'json');
或者使用$.getJSON
$.getJSON(
"/r-set-z",
"z_id=" + z + "&r_id=" + r,
function(data) {
alert(data);
}
);
将内容类型设置为
application/json
解决了这个问题。看起来jquery magic无法猜测application/javascript
内容类型上的json
。我记得它在几个版本之前就可以这么做了…