2011-08-10 3 views
0

나는 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는 .indexOf 작업을 수행하는 방법을 설명합니다.

+0

를 사용해보십시오 콜 리턴? 성공 처리기의 첫 번째 행으로 '경고 (결과)'를 넣고 결과가 실제로 무엇인지 확인하십시오. – jfriend00

답변

2

서버 응답이 JSON으로 해석되어 jQuery에 의해 자동으로 데이터 객체로 변환됩니다. 이 경우 indexOf 구성원이 없을 가능성이 높으며 확실히 기능이 아닙니다.

는 "텍스트"에 반대하는 설정의 dataType 속성을 설정하여 텍스트로 응답을 떠나 jQuery를 강제로 시도해보십시오

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

+1 좋은 설명 – Joper

0

안녕하세요 귀하의 아약스를 무엇을이 방법으로

$.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"); 
        //... 
        //... 
      }; 
관련 문제