gpt4 book ai didi

node.js - 表示不发送对 ajax post 的响应或获取

转载 作者:搜寻专家 更新时间:2023-11-01 00:08:25 25 4
gpt4 key购买 nike

我有一些前端代码如下所示:

$.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 服务器收到它。

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

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);
}
});
});

变量输入正常,数据库通过 sequelize 更新正常,成功方法被调用。但是客户永远得不到回应。它只是处于待定状态。我已经尝试将此作为 GET 和 POST 来执行,并且我已经尝试过 res.json、res.send 和 res.write。没有任何效果,我很困惑。

最佳答案

我成功了,但我不知道这是否是导致它的原因。

  1. 我在 dataType:json 的原始请求中有错字

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

 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(

);

关于node.js - 表示不发送对 ajax post 的响应或获取,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22238041/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com