2011-08-10 46 views
0

我有一個AJAX調用JsonAction錯誤:對象不支持屬性或方法「的indexOf」

   $.ajax({ 
       url: "/Cancel/", 
       context: document.body, 
       success: function (result) { 
        if (result.indexOf("Authorize") != -1) //indexOf not supported? 
           window.location.replace("/Account/LogOn"); 
         //... 
       }; 

這是爲什麼發生?

還有,我也試圖去這樣的:

var responce = result; 
if (responce.indexOf("Authorize") != -1) 

var responce = $(result); 
if (responce.text().indexOf("Authorize") != -1) 

但都是一樣的。 Ned幫助如何使.index工作。

+0

致電退貨?將alert(result)'作爲成功處理程序的第一行,並查看實際結果。 – jfriend00

回答

2

服務器響應可能被解釋爲JSON,並被jQuery自動轉換爲數據對象。在這種情況下,它可能不會有indexOf成員,並且它肯定不會是一個函數。

嘗試強制的jQuery通過設置您的設置的dataType屬性離開響應,文本對象「文本」:

$.ajax({ 
    url: "/Cancel/", 
    dataType: "text", 
    ... 
+0

+1有很好的解釋 – Joper

0

嗨嘗試使用什麼是您的AJAX這樣

$.ajax({ 
      url: "/Cancel/", 
      context: document.body, 
      success: function (result) { 
       var str=String(result); 
       if (str.indexOf("Authorize") != -1) //indexOf not supported? 
          window.location.replace("/Account/LogOn"); 
        //... 
        //... 
      }; 
相關問題