2014-01-27 3 views
0

이상한 문제가 있거나 js 및 jQuery의 작동 방식을 이해하지 못했습니다.jQuery json ajax 함수

저는 AJAX를 사용하여 ID와 값을 보내는 작은 js가 있습니다.

$.post('dashboard/xhrDeleteListing', "id=" + id, function() { 
    alert(1); 
}); 

그러나, 나는 전화의 데이터 부분에 대한 JSON 형식을 사용하고 싶습니다 : 많은 실험 후, 나는 마침내 작업 솔루션을 발견했다. 그래서 (JSON이 올바른지 확인하기 위해) 내가 한 일은 다음과 같습니다.

var myJSON = { 
    id: id 
}; 
$.post('dashboard/xhrDeleteListing', JSON.stringify(myJSON), function() { 
    alert(1); 
}, 'json'); 

그러나 이것은 작동하지 않았습니다. 첫째, PHP 서버는 아무것도 얻지 못했고 ($ _POST에는 아무것도 없었습니다.) 둘째, 콜백 함수가 실행되지 않았습니다 (alert (1)은 실행되지 않았습니다).

$.post('dashboard/xhrDeleteListing', {'id': id}, function(z) { 
    alert(1); 
}, 'json');   

을하지만 다시 콜백 기능이 실행되지 않은 : 놀랍게도, 다음 호출은 $ _POST [ 'ID'] 가치를 창출했다. 'json'데이터 유형 인수를 제거한 후에 만 ​​실행됩니다.

jQuery의 버전은 v1.11.0입니다.

누구든지 내가 뭘 잘못하고 있는지 알아낼 수 있습니까?

감사합니다,이 같은 수행 할 때 여기

답변

0

중요한 점은 다음과 같습니다

$.post('dashboard/xhrDeleteListing', {'id': id}, function(z) { 
    alert(1); 
}, 'json'); 

데이터의 데이터 유형 서버에서 예상되는 'json' 있었던 파라미터가 아니라 당신에게서에 보내다.

서버 측 작업을 수행 한 후 백엔드에서 유효한 json 문자열을 반환해야한다는 것을 의미하지만 반환 값없이 서버 작업을 수행하려는 것 같습니다. 따라서 인수에서 'json'을 제거해야합니다.

0
var myJSON = { 
    "id": "id" 
}; 
$.post('dashboard/xhrDeleteListing', JSON.stringify(myJSON), function() { 
    alert(1); 
}, 'json'); 
+0

ID가 값입니다. 선언과 함께 "id": "id"{ "id": "id"}가 표시됩니다. 하지만 나는 "id"를 시도했다 : id, 생성 한 { "id": "25"} 어느 쪽도 작동하지 않았다 ... – mikeyy

0

이 시도 :

$.ajax({ 
    url: 'dashboard/xhrDeleteListing', 
    type : 'POST', 
    dataType : 'json', 
    data: { 
     'id':id, 
    }, 
    success : function(callback_record) { 
     alert(callback_record); 
    } 
    });