2011-03-09 6 views
2

아약스가 PHP 파일을 처리하고 모든 성공 문이 실행 되더라도 오류 메시지를 작성한 3 가지 AJAX 스크립트가 표시됩니다. 며칠 전 아약스 만 발견 했으니 까. 스크립트에 문제가있을 것입니다. 아마도 누군가 내가 잘못한 곳을 볼 수 있었을 것입니다.AJAX는 정상적으로 작동하지만 여전히 오류 메시지가 표시됩니다.

AJAX :

function bookingdetails() { 
    var actdate = $('#actdate').val(); 
    var airport = $('#FLTairport').val(); 
    var number = $('#FLTnumber').val(); 
    var time = $('#FLTtime').val(); 

    var dataString = 'actdate=' + actdate + '&airport=' + airport + '&number=' + number + '&time=' + time; 

    $.ajax({ 
      type: 'POST', 
      url: '<?php echo $thisposturl;?>?update', 
      data: dataString, 
      beforeSend: function() { 
       $('#airloader').html('<img id="BKloader" src="http://www.divethegap.com/update/z-images/structure/icons/blockloader.gif" alt="" width="30" height="30"/>'); 
       }, 
        error: function() { 
       $('#airloader').html('arse up'); 
       }, 
       dataType:'json', 
      success: function(data) { 
    $('#actdate').val(data.date); 
    $('#FLTnumber').val(data.FLTnumber); 
    $('#airloader').html('marvellous'); 
    $('#FLTairport').val(data.FLTairport); 
    $('#FLTdate').val(data.FLTdate); 
    $('#FLTtime').val(data.FLTtime); 
    $('#datediv').load('<?php echo $thisposturl;?> #datediv'); 
} 


     }); 

} 

PHP : (삽입 후 비트에 대한 걱정을하지 말아)

<?php 

    function __update_post_meta($post_id, $field_name, $value = '') 
{ 
    if (empty($value) OR ! $value) 
    { 
     delete_post_meta($post_id, $field_name); 
    } 
    elseif (! get_post_meta($post_id, $field_name)) 
    { 
     add_post_meta($post_id, $field_name, $value); 
    } 
    else 
    { 
     update_post_meta($post_id, $field_name, $value); 
    } 
} 

if (is_user_logged_in()) { 
$my_post = array(
    'ID' => get_the_ID(), 
    'post_date' => $_POST['actdate'], 
); 
$the_post_id = wp_update_post($my_post); 

__update_post_meta($the_post_id, 'FLTairport', $_POST['airport']); 
__update_post_meta($the_post_id, 'FLTnumber', $_POST['number']); 
__update_post_meta($the_post_id, 'FLTtime', $_POST['time']); 
} 

$FLTdate = get_the_time('d/m/Y'); 
$actdate = get_the_time('Y-m-d'); 
$FLTairport = $_POST['airport']; 
$FLTnumber = $_POST['number']; 
$FLTtime = $_POST['time']; 

echo json_encode(array('FLTdate'=>$FLTdate, 'actdate'=>$actdate, 'FLTairport'=>$FLTairport, 'FLTnumber'=>$FLTnumber, 'FLTtime'=>$FLTtime)); 
?> 

결과는 모든 값이 업데이트되지만, 그것은 여전히 ​​#airloader에 표시 '엉덩이까지'. 이것은 제가 작성한 아약스 스크립트 중 3 가지를 제공 할 수있는 한 가지 예입니다.

아이디어가 있으십니까?

놀라운

+1

어떤 오류 메시지가 –

+1

얻을 정확히 어떤 오류 응답 볼 http://stackoverflow.com/questions/377644/jquery-ajax-error-handling-show-custom-exception-messages의 조언을 따라 할 너는지고있다. –

+0

'airloader' 엘리먼트에 대해 html에 오타가 없는게 확실합니까? – jswolf19

답변

0

당신은 당신의 오류 함수의 두 번째 매개 변수를 확인 했습니까?

참조 : http://api.jquery.com/jQuery.ajax/

에러 (jqXHR, textStatus, errorThrown) ... 발생한 오류의 유형 및 임의의 예외 객체를 기술하는 문자열 하나가 발생하면. 두 번째 인수 (null 이외)에 가능한 값은 "timeout", "error", "abort"및 "parsererror"입니다. ...

관련 문제