2014-01-20 2 views
1

컨트롤러 함수에 데이터를 보내는 ajax POST가 있는데이 함수는 ajax 성공 메서드의 기본 1st 매개 변수로 문자열 배열을 ajax 호출로 반환합니다. 반환 된 데이터를 사용하려고하면 첫 번째 요소를 경고 상자로 인쇄 할 수 없습니다. 어째서?AJAX : 반환 된 배열을 사용하는 방법?

$.ajax(
     { 
      type: "POST", 
      url: "../Home/stringSplitFunct", 
      data: { 'parameter1': Input }, 
      success: function (response) 
      { 
       alert(response[0]);     
      } 
     }); 

사실, 나는 그것이 심지어 문자열 배열로 인식 생각하지 않습니다.

+0

성공 방법으로 만들고 있습니까? 아약스가 반환 할 때 실제로 반응하는 것은 무엇입니까? – Bic

+0

콘솔과 같은 실제 디버그 도구를 사용하고'console.log (response)'를 실행 한 다음 얻은 것을 게시하십시오. – adeneo

+0

또는 서버에서 송수신 된 내용 (네트워크 탭)을 Chrome에서 확인하십시오. – nathanvda

답변

1

dataType을 지정해야합니다. 더 읽기 here.

$.ajax({ 
      type: "POST", 
      url: "../Home/stringSplitFunct", 
      data: { 'parameter1': Input }, 
      dataType: 'json', 
      success: function (response) 
      { 
       alert(response[0]);     
      } 
     }); 
+0

데이터 유형을 변경할뿐만 아니라 JSON 객체도 반환해야하며 eval()을 사용하여 JavaScript 객체로 파싱해야합니다. – RedAces

1

데이터가 원시 스팅으로 반환되는 것처럼 보입니다. 또한 실행 흐름을 정지로 경고를 사용하지 아약스 요청

dataType: 'json' 

에 대한

사용 dataType 속성입니다. 대신 console.log을 사용하십시오.

+2

이 경고는 빠르고 단순한 문제 해결을위한 것이라고 생각합니다. 콘솔에는 자체 함정이 있습니다. 예를 들어 개발자 도구가 열리지 않은 상태에서 페이지가 IE에서 콘솔을 사용하려고하면 자바 스크립트 오류가 발생하고 스크립트가 종료됩니다. – Dave

관련 문제