2012-10-03 2 views
0

jQuery.ajax를 통해 파일을 보내려고합니다. 게시가 제대로 작동합니다.jquery-ajax-json/success 데이터 매개 변수가 null입니다.

header("Content-Type: application/json; charset=utf-8");     
echo json_encode($DatabaseEntity); 
die(); 

그러나 클라이언트 측 아약스 성공 콜백의 "데이터"매개 변수는 JSON 대신, 널 : 파일의 저장이 완료되면 , 나는 다음과 같은 데이터베이스 정보의 JSON 개체를 다시 보내려고 목적.

jQuery.ajax은 다음과 같이 설정 :

$.ajax({ 
    url: /* url */, 
    type: "POST", 
    data: postingData, // it's a FormData object 
    dataType: "json", 
    cache: false, 
    contentType: false, // it's because the FormData, if I set "multipart/form-data", then the data not sended 
    processData: false,         
    success: function(data) { 
     alert(data); // => this is NULL, and I don't know why! 
    } 
}); 

파이어 폭스 방화 광은 결과를 보여줍니다 즉 널 (null) "데이터"왜

는 어떤 아이디어가 잘 포맷 된 JSON 문자열입니까? 당신은 단지 하나의 문자열을 반환하는 경우

object(DatabaseEntity)#15 (9) { 
    ["Label"]=> 
    string(5) "somethinglabel" 
    ["Description"]=> 
    string(3) "somethingdesc" 
    ["Link"]=> 
    string(6) "somethinglink" 
    ["FileID"]=> 
    string(4) "1761" 
    ["Order"]=> 
    string(1) "1" 
    ["Visible"]=> 
    string(1) "1" 
    ["ID"]=> 
    string(1) "1" 
} 
+0

를 사용

는 UPDATE

$ DatabaseEntity 그런 것을 포함 DatabaseEntity'는 서버 측 자체에서 null입니다. 서버 측에서 인쇄하려고 시도합니다. 'json_encode' 함수 앞에 있고 그 안에 무엇이 있는지 확인하십시오. – coolguy

+0

null이 아니며 객체입니다 – SadAir

+0

$ DatabaseEntity가 배열입니까? $ DatabaseEntity를 지정할 수 있습니까 –

답변

0
echo json_encode("Values"=>$DatabaseEntity); 

alert(data.Values); 
+0

불행히도 작동하지 않습니다 .. – SadAir

0

은 $`때문에 .D 속성

alert(data.d) 
+0

개체를 반환하지만 데이터가 null이므로 data.d도 null입니다. – SadAir

관련 문제