2013-11-01 2 views
0

json 객체를 파일에 저장해야합니다. 따라서 데이터를 파일에 쓰는 또 다른 PHP 스크립트를 사용하고 있습니다. 데이터 및 파일 이름은 ajax POST 요청에 의해 보내집니다.파일 용 json 객체 저장

var results = $('results'); 
var filename = $('#filename').val(); 

$.ajax({ 
    url: 'jsonWriter.php', 
    type: 'POST', 
    contentType: "application/json; charset=utf-8", 
    dataType: "json", 
    data: JSON.stringify([{data: data, filename: filename }]), 
    success: function(data) { 
     results.html(data); 
    }, 
    error: function(jqXhr, textStatus, error) { 
     results.html("<p class=\"error\">ERROR: " + textStatus + ", " + error + "</p>"); 
    } 
}); 

피들러에서 요청을 모니터링 할 때 문제가 없으며 게시 된 데이터가 정확합니다. 그러나 오류 기능이 어떻게 든 호출됩니다. 결과는 피들러에서 유효한 온라인 파서로 유효성을 확인하기 위해 게시 된 JSON 데이터를 복사했습니다.

왜 오류 기능이 호출됩니까?

당신이 .html으로 적용되기 때문에 당신은 텍스트의 내용을 반환하도록 서버를 기대하고있다처럼 내게 보이는
+0

PHP 스크립트가 실제로 유효한 JSON을 반환합니까? 그것은 그렇게 보이지 않습니다. PHP 코드도 게시하십시오. "dataType"옵션은 ** 반환 ** 될 것으로 예상되는 데이터 유형을 설정하고 전송하지 않습니다! – adeneo

+0

샘플 데이터, 특히 샘플 데이터의 시작과 끝을 제공하십시오. – SergeyB

+1

가능한 복제본 [JQuey/Json 오류 "SyntaxError : JSON.parse : unexpected character"] (http://stackoverflow.com/questions/16967289/jquey-json-error-syntaxerror-json-parse-unexpected-character) – moonwave99

답변

1

:

dataType: "json", 
그러나

success: function(data) { 
    results.html(data); 
}, 

, 당신은 JQuery와 JSON 데이터를 기대 말하고있다

jQuery는 서버에서 반환 된 콘텐츠를 JSON으로 구문 분석하려고 시도하고 있습니다. dataTypetext 또는 html으로 변경해야합니다.