我想通过ajax将json数据发送到服务器,但它不起作用。用firefox和chrome浏览器测试。与Tornado互动
$.ajax({
type: "POST",
url: url,
processData: false,
contentType: 'application/json',
data: json_data
});
但如果我在里面添加成功属性。有用。我不明白原因
工作版:
$.ajax({
type: "POST",
url: url,
processData: false,
contentType: 'application/json',
data: json_data,
success: function(response){
console.log(response);
}
});
然后, 我用完全取代了成功。它再也不起作用了。 为什么呢?
complete: function(xmlHttp){
if(xmlHttp.status.toString()[0]=='3'){
top.location.href = xmlHttp.getResponseHeader('Location');}
如果您需要更多信息,请与我们联系。 感谢
答案 0 :(得分:1)
看起来您的问题可能源于您决定成功的方式。
我将您的代码放入以下jfiddle并将其发布到他们的echo服务中而不会出现问题:
$.ajax({
type: "POST",
url: "/echo/json/",
processData: false,
contentType: 'application/json',
data: {a: "test"},
success: function ( data, textStatus, jqXHR ) {
alert("Succeeded with status: " +textStatus+". Data returned: "+data);
},
error: function (jqXHR, textStatus, errorThrown) {
alert("Failed with status: "+textStatus+", errorThrown: "+errorThrown);
},
complete: function (jqXHR, textStatus) {
alert("Completed with status: "+textStatus);
}
});
答案 1 :(得分:-1)
像这样从JSON发布您的数据
var myvalue = 'test';
$.ajax({
type: "POST",
url: "/echo/json/",
data: {getval: myvalue},
success: function (data) {
alert("Successfully posted");
}
});

<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.9.1/jquery.min.js"></script>
&#13;