【问题标题】:unable to get ajax done works无法完成 ajax 工作
【发布时间】:2015-03-24 22:46:45
【问题描述】:

ajax done 接收 json 文件时不会触发。它打印出 json 对象 客户端

$.ajax({
                type: "POST",
                url: url,
                processData: false,
                dataType: 'json',
                contentType: 'application/json',
                data: data
            }).done(function() {
                console.log( "Sample of data:");
                alert("hello");
            }).fail(function()  {
                console.log("ajax failed ");
            });

在服务端,我从客户端获得了 json 文件

 def post(self):
    print self.request.body
    print tornado.escape.json_encode(self.request.body)
    self.set_header("Content-Type", "application/json")
    self.write("{}")

在浏览器上,我没有看到任何错误代码。我得到 200。但控制台输出“ajax 失败” 请帮忙

【问题讨论】:

    标签: ajax json tornado


    【解决方案1】:

    为什么不使用:

    $.ajax({
             type: "POST",
             url: url,
             processData: false,
             dataType: 'json',
             contentType: 'application/json',
             data: data,
             success: function(){
                 console.log( "Sample of data:");
                 alert("hello");
                   },
             error: function()  {
                console.log("ajax failed ");
               }
           });
    

    【讨论】:

    • 成功和错误将被替换为完成,失败。对吗?
    • 是的,就像我在上面写的那样。使用成功和错误属性而不是完成和失败
    • "done 是实现成功回调的首选方式"来自 jquery 站点
    • 好的,你的方法很好,但我不明白为什么“完成”不起作用
    • 这是个好问题,看看这个相关的帖子stackoverflow.com/questions/10931836/…
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2012-01-25
    • 1970-01-01
    • 2016-08-26
    • 2020-06-02
    • 1970-01-01
    • 2016-09-04
    • 2011-09-16
    相关资源
    最近更新 更多