【发布时间】:2015-06-12 03:59:14
【问题描述】:
我使用 Dojo xhr 将一些数据发布到 ASP.NET MVC 控制器:
xhr.post("/MyController", {
handleAs: "json",
data: {
contentIdentifier: 'abc123',
language: 'en'
}
}).then(function (response) {
console.log('Success.');
}, function (err) {
console.error(err);
});
控制器返回纯文本结果,我可以看到服务器的响应确实是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。 “成功”一词中的第一个“S”是什么破坏了 xhr?
响应的内容类型是text/plain
【问题讨论】:
-
也许我可以指定只有请求应该作为 JSON 处理,而不是响应?
标签: javascript asp.net ajax asp.net-mvc dojo