快递不发送回复ajax帖子或得到

时间:2014-03-06 23:01:16

标签: node.js express

我有一些看起来像这样的前端代码:

$.ajax({
    url:target,
    data: zform.serialize(),
    dataTyp:'json',
    type:'POST',
    success:function(data, status, jqXHR) {

       $(".target", source).html(data.widget.url);

       source.find('.edit').hide()
       source.find('.saved').show();
    },
    error:function(jqXHR, textStatus, err) {
        alert(textStatus);
    });

找到我的表单,将其序列化,并将其发送到所需URL的服务器。这很好,node.js服务器接收它。

然后在节点的请求处理程序中:

m.Target.find({where:{id:linkId, UserId:req.user.id}}).success(function(target){
            target.updateAttributes({target:url}).success(function(target){

                try{
                var response={status:"updated",
                           widget:{url:target.url}
                        };
                res.send(response);
                res.end();
                console.log("sent");
                }catch(err){
                    console.log(err);
                }
            });
        });

变量很好,DB通过sequelize更新就好了,调用成功方法。但客户永远不会得到回复。它处于待定状态。 我已尝试将此作为GET和POST,我尝试过res.json,res.send和res.write。没有什么工作,我很困惑。

1 个答案:

答案 0 :(得分:0)

我得到了它的工作,但我不知道这是不是造成它的原因。

  1. 我在dataType的原始请求中输入了错误:json

  2. 改变了我的回应方式:

  3.  res.status(201).type('JSON');
        res.write(JSON.stringify({widget:{
                url: target.dataValues.target,
              startLvl: target.dataValues.startLvl,
              endLvl: target.dataValues.endLvl,
              id: target.dataValues.id
          }
         }));
         res.end(
    

    );