2012-12-13 3 views
1

그래서 jQuery AJAX 요청을 통해 웹 페이지에 상점 목록을 추가하고 있습니다. 이 작은 유틸리티는 데이터베이스가 구동하는 동적 인 것이 아닙니다. jQuery/AJAX를 사용하여 데이터를 전송하기로 결정했습니다. 현재 PHP CMS에 PHP를 삽입하려고 할 때 충돌하는 오류가 많기 때문입니다.JQuery AJAX 오류가없는 문제

내가 겪고있는 문제는 PHP 스크립트에 요청을하려고 할 때 jQuery AJAX 오류가 발생하며 이유가 확실하지 않다는 것입니다. 여기

내 AJAX 요청입니다

내가 점점 오전 비밀 콘솔 오류가 여기에이

function(){if(c){var a=c.length;m(arguments),i?k=c.length:e&&e!==!0&&(j=a,n(e[0],e[1]))}return this} 

입니다 것이 도움이 될 것입니다 경우 내 PHP 코드

$(document).ready(function(){ 
    $.ajax({ 
     type:"POST", 
     url:"getStores.php", 
     dataType: "json", 
     success:function(data){ 
      results(data); 
     }, 
     error: function(data) { 
      console.log(data.error);  
     } 
    }); 
}); 

:

//database connection 
$return_arr = array(); 
$sql = mysql_query("SELECT * FROM where_to_buy"); 
while($row = mysql_fetch_array($sql, MYSQL_ASSOC)) 
{ 
    $row_array['store_name'] = $row['store_name']; 
    $row_array['store_url'] = $row['store_url']; 
    array_push($return_arr,$row_array); 
} 
echo json_encode($return_arr); 

배열에서 JSON을 래핑하기 때문에 문제가 발생한 것 같습니다.

편집은 :: PHP 스크립트에서 JSON 출력은 어떤 도움

[{"store_name":"Example 1","store_url":"http:\/\/www.example1.com"},{"store_name":"Example 2","store_url":"http:\/\/www.example2.com"}] 

감사

요청으로!

+0

당신은 또한 당신의'결과를 게시하시기 바랍니다 수 ... 위에서 콘솔에 올바른 JSON 출력을 기록하면 다시 모두 함께 넣어,

$(document).ready(function(){ $.ajax({ type:"POST", url:"/getStores.php", // <-- notice the leading slash!!! //dataType: "json", success:function(data){ //results(data); console.log(data); }, error: function(jqXHR, text, error) { console.log(error); } }); }); 

나 :

는 그것을 시도()'function –

+0

당신은 당신의 성공 핸들러에서 경고 ('hello')를 얻을 수 있습니까? – GBD

+2

오류 서명이 대신 'error (jqXHR, textStatus, errorThrown)'가 아니십니까? 첫 번째 항목은 오류 메시지가 아닌 XHR 개체입니다. – Sampson

답변

2

당신이 이상한 오류 메시지가 표시되는 이유는 여기에 문서에 설명 된대로 jQuery를 아약스 기능에 대한 오류 콜백, 3 인자 대신 1을 취한다는 것입니다 : http://api.jquery.com/jQuery.ajax/

첫 번째 인수는 jQuery를 - 특별 XMLHttpRequest 객체. error이라는 속성에 콘솔에 기록 된 기능이 포함되어 있습니다. 귀하의 아약스 호출을 실행하는 동안 발생한 실제 오류는 오류 콜백에 3 인자로 전달됩니다. 가까이 진짜 문제에 당신을 얻을 것이다

$(document).ready(function(){ 
    $.ajax({ 
     type:"POST", 
     url:"getStores.php", 
     dataType: "json", 
     success:function(data){ 
      results(data); 
     }, 
     error: function(jqXHR, text, error) { 
      console.log(error);  
     } 
    }); 
}); 

:

당신이 그런 짓을한다, 그것을 참조하십시오.

UPDATE :

당신의 PHP 스크립트의 출력을 보여주십시오. 유효한 json을 반환하지 않을 수 있습니다. PHP는 워드 프로세서 (http://php.net/manual/en/function.json-encode.php), [json_encode] only works with UTF-8 encoded data.

에서 언급 한 바와 같이 당신은 또한 인코딩이 어떤 이유로 실패 있는지 json_last_error (http://php.net/manual/en/function.json-last-error.php)에 체크인 할 수도 있습니다.

UPDATE 3 : 문제는 PHP 스크립트의 경로가 될 수 있습니다처럼

보인다.

$(document).ready(function(){ 
    $.ajax({ 
     type:"POST", 
     url:"/getStores.php", 
     dataType: "json", 
     success:function(data){ 
      results(data); 
     }, 
     error: function(jqXHR, text, error) { 
      console.log(error);  
     } 
    }); 
}); 
+0

감사합니다. 도움이되었습니다 ... 오류가 "예기치 않은 토큰"오류를 출력 중입니다 – skevthedev

+0

@skevthedev 수정 사항을 확인하고 PHP 측면에 대한 정보를 조금 더 제공하십시오. – Andbdrew

+0

감사합니다! 위의 내 json 출력을 게시하고 내가 게시 한 링크를 찾고 있습니다 – skevthedev