갑자기 "버그"가 생겼습니다. 지금까지이 스크립트는 매력처럼 작동했습니다. 그러나 갑자기 formData
변수가 존재하지 않는 것처럼 jQuery.ajax
을 통해 전달되지 않습니다.jQuery.ajax와의 이상한 동작
재미있는 점은 데이터를 표시하는 alert
을 실행하면 모두 작동한다는 것입니다. 그러나 경고를 제거하자마자 PHP 스크립트는 formData
색인이 없다고 알려줍니다.
나는이 발생하거나 해결하는 방법을 무엇으로 우둔 해요 : -/
이 프로덕션 서버에 내 개발 서버에서 잘 작동하지만. 다음 일이 뭐죠
jQuery('#btn_saveForm').live('click', function() {
var instance = 'update';
var brand_id = jQuery('#itemID').val();
// Get form data
var form_data = jQuery("#data_form").serialize();
// alert(form_data); //If I uncomment this, the script works...
//Process form data
jQuery.ajax({
url: siteURL +"/wp-content/themes/my_theme/include/jquery.php",
data: {
instance : instance,
formData : form_data,
brandID : brand_id
},
success: (function(feedback) {
showFeedback(feedback);
}),
dataType: 'json'
});
});
이것은 야생의 추측이지만, 배포시에는 작동하지만 배포 할 때 서버에서 MIME 유형을 설정하는 것과 관련된 문제가 아니라 유효한 JSON을 실제로 반환하고 있습니까? fiddler 또는 Firebug의 NET 탭 중 하나 일 수 있습니다. 오류를 추가해보십시오 : function (e) {} 블록뿐 아니라 서버에있는 전자 메일에 포함 된 내용을 확인하십시오 (다시, 방화범을 통해 - VS를 사용할 수 없다고 가정) – SpaceBison
@SpaceBison - 감사. FF의 NET 탭을 보면 모든 데이터가 실제로 전송되고 있음을 알 수 있습니다! 하지만 호출되는 PHP 코드에서'print_r ($ _REQUEST)'를 실행하면'instance'와'brandID' 만 보여줍니다. – Steven
@SpaceBison, PHP 파일이'$ _REQUEST [ 'formData']'를 찾을 수 없기 때문에 아무 것도 반환하지 않습니다. – Steven