Dojo XHR 将 200 OK 视为错误
Dojo XHR treats 200 OK as error
我使用 Dojo xhr 将一些数据 post 发送到 ASP.NET MVC 控制器:
xhr.post("/MyController", {
handleAs: "json",
data: {
contentIdentifier: 'abc123',
language: 'en'
}
}).then(function (response) {
console.log('Success.');
}, function (err) {
console.error(err);
});
控制器returns一个纯文本结果,我可以看到来自服务器的响应确实是200 OK .
但是,总是会触发错误处理程序。
当输出 err 到控制台时,我得到如下信息:
SyntaxError: Unexpected token S
message: "Unexpected token S"
response: {
options: TMP
status: 200
text: "Successfully pushed content to 1 instance(s)."
在我看来错误是因为它无法将纯文本响应解析为 JSON? IE。单词 "Successfully" 中的第一个 "S" 是什么问题 xhr?
响应的内容类型是text/plain
多哈
根据 Dojo 文档的 handleAs 参数:
用于处理 响应 负载的内容处理器。
换句话说,将handleAs设置为"text"解决了问题。
我使用 Dojo xhr 将一些数据 post 发送到 ASP.NET MVC 控制器:
xhr.post("/MyController", {
handleAs: "json",
data: {
contentIdentifier: 'abc123',
language: 'en'
}
}).then(function (response) {
console.log('Success.');
}, function (err) {
console.error(err);
});
控制器returns一个纯文本结果,我可以看到来自服务器的响应确实是200 OK .
但是,总是会触发错误处理程序。
当输出 err 到控制台时,我得到如下信息:
SyntaxError: Unexpected token S
message: "Unexpected token S"
response: {
options: TMP
status: 200
text: "Successfully pushed content to 1 instance(s)."
在我看来错误是因为它无法将纯文本响应解析为 JSON? IE。单词 "Successfully" 中的第一个 "S" 是什么问题 xhr?
响应的内容类型是text/plain
多哈
根据 Dojo 文档的 handleAs 参数:
用于处理 响应 负载的内容处理器。
换句话说,将handleAs设置为"text"解决了问题。