2016-07-19 5 views
0

나는 page에 json 코드를 가져오고 싶습니다.JSON 파일로드 javascript

[{"idStore":"13","0":"13","Name":"1414141414144","1":"1414141414144","Phone":"123456","2":"123456","Email":"tretretr","3":"tretretr","Description":"aaaaaaaaaaaa","4":"aaaaaaaaaaaa","Ville":"zaeazezae","5":"zaeazezae","Address":"aaaaaaaaaaaaaaaaaaaaaa","6":"aaaaaaaaaaaaaaaaaaaaaa","MsPoint":"0","7":"0","idGenre":"14","8":"14","Image":"--","9":"--","Country":"zaeaze","10":"zaeaze","idUser":"21","11":"21","Lat":"0","12":"0","Lng":"0","13":"0"}] 

내가 result.json에 PHP 파일의 출력의 내용을 구문 분석하려고, 그래서 나는 아약스에 대한 지식이 없다 :

이하여 JSON 코드입니다.

$fp = fopen('result.json', 'w'); 
fwrite($fp, json_encode($stores)); 
fclose($fp); 

나는 스크립트가 JSON 출력과 동일한 페이지에되지 않기 때문에 내 result.json 파일을 읽을이 아약스 코드를 사용했다.

이 내 www 폴더 구조입니다 : 내가합니다 (Store.php에 의해 생성) JSON 파일에서 데이터를로드하고 그것을 수정하는 app.js을 사용하고

www -> js -> app.js 
    -> inedx.php 
    -> Store.php 
    -> result.josn 

. 그런 다음 index.php에서 사용합니다.

var da = $.ajax({ 
    url: "../result.json", 
    success: function (data) { 
     var obj = JSON.parse(data); 
    } 
}); 

alert(da); 

그리고 출력했다 :

[Object Object]

내가 뭔가를 놓친 건가?

+2

나는 당신이 성공 함수에서'alert (obj);를 할 필요가 있다고 생각한다. obj에는 데이터가 있습니다. –

+0

또한 객체에 경고하면 [Object.prototype.toString] (https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/) 방법으로 인해 항상 [[Object Object] Global_Objects/Object/toString)가 작동합니다. [console.log()] (https://developer.mozilla.org/en-US/docs/Web/API/Console/log)로 콘솔에 로그인해야합니다. –

+0

당신을 이해하지 못했습니다. –

답변

1

코드 변수 da은 반환 된 결과가 아니고 ajax 함수 자체입니다.

JSON 값은 obj 변수에 저장됩니다. 하지만 그것도 개체 및 당신은 단지 그것에 대한 경고를 사용할 수 없습니다. 하지만 아래와 같은 속성을 경고 할 수 있지만 :

var da = $.ajax({ 
    url: "../result.json", 
    success: function (data) { 
     var obj = JSON.parse(data); 
     alert(obj.idStore); //would show the idStore of the first element in Array 
    } 
}); 

당신은 아약스 기능의 아웃 alert을 원하는 경우에, 당신이 할 수 있습니다 그것을 할 수

var obj; 

    $.ajax({ 
     url: "../result.json", 
     success: function (data) { 
      obj = JSON.parse(data); 
      runIt(); 
     } 
    }); 

function runIt(){ 
alert(obj.idStore); 
} 

다른 방법을 (이 권유되지 않음) :

var obj, done = false; 

    $.ajax({ 
     url: "../result.json", 
     success: function (data) { 
      obj = JSON.parse(data); 
      done = true; 
     } 
    }); 

var int = setInterval(function(){ 
if(done){ alert(obj.idStore); clearInterval(int);} 
}, 100); 
+0

예. 내 잘못이야. 나는 그것을 바로 잡았다. –

+0

나는 ajax 함수의 경고를 원합니다. –

+0

잘 작동하지 않았습니다. –