2012-07-13 107 views
4

在IE8版本8.0.7600及更低版本中發出ajax請求時,出現錯誤或「無效JSON提示:未定義」,但無法在8.0.7601或更高版本中複製它。有誰知道爲什麼或如何解決它?IE8版本8.0.7600及更低版本中無效的JSON原語

$.ajax({ 
    url: defaults.url + (defaults.url.indexOf('?') > 0 ? '&' : '?') + 'r=' + Math.random(), 
    type: defaults.method, 
    contentType: 'application/json', 
    dataType: defaults.dataType, 
    data: ko.toJSON(defaults.data), 
    beforeSend: function (xhr, settings) { 
     xhr.setRequestHeader("URL_REFERRER", config.urlReferrer); 
     xhr.setRequestHeader("X-Requested-With", "XMLHttpRequest"); 
    }, 
)} 

控制器

public virtual JsonResult CompleteOrder(string id) 
{ 
    _entitlementsService.CompleteOrder(AuthenticateManager.CurrentUserProfile.UserModel.UserId, id); 
    return Json(new SuccessResponse("Order completed")); 
} 

請求

Request URL:http://localhost:16253/DashboardSetup/Entitlements/CompleteOrder/c8e053d9-a458-11e1-8dd0-001cc4565d26?r=0.8639180345926434 
Request Method:POST 
Status Code:200 OK 
Request Headersview source 
Accept:*/* 
Accept-Charset:ISO-8859-1,utf-8;q=0.7,*;q=0.3 
Accept-Encoding:gzip,deflate,sdch 
Accept-Language:en-US,en;q=0.8 
Connection:keep-alive 
Content-Length:0 
Content-Type:application/json 
Cookie:MYNGCONNECT=56053B332B26A0FD9D0A31C5FC83868281D876DB1F365034306F6CB3A64C5B2F7 
Host:localhost:16253 
Origin:http://localhost:16253 
Referer:http://localhost:16253/DashboardSetup/Entitlements/Entitlement?SearchResults=True&id=c8e053d9-a458-11e1-8dd0-001cc4565d26 
URL_REFERRER:http://localhost:16253/DashboardSetup/Entitlements 
User-Agent:Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/536.11 (KHTML, like Gecko) Chrome/20.0.1132.57 Safari/536.11 
X-Requested-With:XMLHttpRequest 
Query String Parametersview URL encoded 
r:0.8639180345926434 
+0

它與你的'數據'在你的ajax後或其他? – 2012-07-13 18:23:10

+0

我正在發送數據,但我只是繼續複製它,因爲我沒有該版本的IE8。 – 2012-07-13 18:27:06

+0

你可以發佈你的代碼的一部分?我的意思是'數據' – 2012-07-13 18:31:03

回答

0

更改您的contentType爲 「text/JSON」 或 「text/plain的」。較舊的IE需要不同的內容類型配置。

相關問題