jquery和ajax向服务器发送json数据

jquery和ajax向服务器发送json数据,jquery,ajax,json,Jquery,Ajax,Json,我想通过ajax将json数据发送到服务器,但它不起作用。使用firefox和chrome浏览器进行测试。与龙卷风互动 $.ajax({ type: "POST", url: url, processData: false, contentType: 'application/json', data: json_data }); 但是如果我在里面加上success属性。它起作用了。我不明白原因 工作版本: $.ajax({ type: "POST

我想通过ajax将json数据发送到服务器,但它不起作用。使用firefox和chrome浏览器进行测试。与龙卷风互动

$.ajax({
    type: "POST",
    url: url,
    processData: false,
    contentType: 'application/json',
    data: json_data
});
但是如果我在里面加上success属性。它起作用了。我不明白原因

工作版本:

$.ajax({
    type: "POST",
    url: url,
    processData: false,
    contentType: 'application/json',
    data: json_data,
    success: function(response){
        console.log(response);    
    }
});
那么, 我用完全的成功来代替成功。它不再起作用了。 为什么?

如果你需要更多信息,请告诉我。
谢谢

看来你的问题可能源于你如何决定成功

我将您的代码放在下面,并能够毫无问题地发布到他们的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);

    }
});

像这样从JSON发布数据

var myvalue=‘测试’; $.ajax{ 类型:POST,, url:/echo/json/, 数据:{getval:myvalue}, 成功:函数数据{ 警报成功发布; } };
看起来您的第一个脚本中有一个额外的},我删除了这个额外的},但是没有work@Arun,你的链接对我有用。我发现在完整的版本上,我有语法错误。但是我仍然不明白为什么我的第一个版本不起作用。我再试一次。我认为这是我代码中的语法错误。感谢Arun.complete已弃用-始终使用。成功应该被成功所取代done@brunofitas您似乎将success/error/complete回调与jqXHR.done/jqXHR.success/jqXHR.always/jqXHR.complete混为一谈,前者没有被弃用。
$.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);

    }
});