我正在尝试使用简单的客户端AJAX帖子来检查服务器是否已启动,然后再继续执行功能。我不想发送任何数据,因此我尝试使用成功标头响应客户端并省略正文,但这导致客户端触发错误处理程序,即使服务器响应。
这是服务器端代码段,用于处理要在我的侦听器中“检查”的帖子:
app.post('/check', function (req, res) {
console.log("Client checking for service...");
res.writeHead(200, {
'Access-Control-Allow-Origin': 'http://localhost',
'Content-Length': 0,
'Content-Type': 'text/plain'
});
res.end();
console.log("Client checked in!");
});
这是AJAX请求:
request = $.ajax({
url: "http://127.0.0.1:8080/check",
type: "POST",
crossDomain: true,
data: '',
dataType: "json",
error: function () {
alert("Could not connect to the server! Returning to login screen.");
signOut();
},
success: function () {
DoStuff();
}
});
发送没有响应正文的成功响应标头会导致AJAX请求出错吗?
答案 0 :(得分:0)
注意未尝试node.js
,node.js
件无法解决
编辑
见原帖
服务器端(response
)
'Content-Type': 'text/plain'
js(request
)
dataType: "json"
可能触发error
处理程序?
注意
在server-side
response
,Content-Type
似乎设为text/plain
,$.ajax()
settings
为期望json
({{1}响应?也许为什么application/json
回调调用每个实例?如果可以a)将预期响应设置为error
,b)text/plain
或callback
回调中的链error()
,当fail()
不content-type
时会调用})返回,c)更改json
内容类型设置(ieg,到server-side
),为json
生成并替换application/json
响应?
试试这个(模式)
html
text/plain
js(已更新)
<p id="results"></p>
<button>localpost</button>