javascript
ajax返回数据报406,ajax – 406返回JSON对象时出错 – 意外内容
一些同事和我有一個問題,即ajax調用的響應返回一些意想不到的內容.而不是使用各種屬性獲取簡單的
JSON對象,result.responseText的值是通用406狀態錯誤頁面的HTML標記,表示瀏覽器不接受MIME類型.
這樣的電話是這樣的:
$.ajax({
url: '/promociones/cincogratis/canjear-codigo-promocional',type: this.method,data: $(this).serialize(),success: function (result) {
$('.promotion_banner .loader').hide();
$('.promotion_banner').html(result);
},error: function (result) {
var obj = result.responseText;
if (obj.isRedirect) {
document.location = obj.redirectUrl;
}
else {
$('.promotion_banner .loader').hide();
$(".error-wrapper").removeClass("hidden");
var generic_error = document.getElementById('generic_error').value;
$(".error-wrapper p").html(generic_error);
}
},beforeSend: function() {
$('.promotion_banner .loader').show();
}
});
控制器對呼叫的響應如下:
Response.StatusCode = (int)HttpStatusCode.NotAcceptable; // 406
return Json(new { errorMessage = LocalErrorMessages.Website_Promotions_FreeFiver_General_Problem,isRedirect = false } );
我們希望result.responseText包含errorMessage和isRedirect的鍵值,但它們不在那里.
值得指出的是,這個代碼是多租戶的,由當前的應用程序和另一個代碼共享,它的工作非常好.
我們嘗試過:
– 配置IIS以顯示詳細的錯誤響應而不是自定義頁面以獲取更多詳細信息 – 為解決問題提供了額外的幫助.
– 允許所有響應內容類型進行呼叫
– 改變我們網站的文化(目前是es-ES)
– 各種web.config調整
有沒有人遇到過這個問題?
總結
以上是生活随笔為你收集整理的ajax返回数据报406,ajax – 406返回JSON对象时出错 – 意外内容的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: css 列 布局,CSS二列三列布局
- 下一篇: JavaScript 开发的40个经典技