2013-04-13 3 views
0

Я использую функцию jQuery Ajax для установки некоторых демо-данных в теме WordPress. Этот сценарий ниже работал на предыдущих темах я работал на, однако теперь по какой-то причине я получаю ошибкуПроверьте, есть ли ответ jQuery Ajax

Uncaught TypeError: Cannot call method 'hasOwnProperty' of null

Вот сценарий, я использую

/* Install Dummy Data */ 
function install_dummy() { 
    $('#install_dummy').click(function(){ 
    $.ajax({ 
      type: "post", 
      url: $AjaxUrl, 
      dataType: 'json', 
      data: {action: "install_dummy", _ajax_nonce: $ajaxNonce}, 
      beforeSend: function() { 
       $(".install_dummy_result").html(''); 
       $(".install_dummy_loading").css({display:""}); 
       $(".install_dummy_result").html("Importing dummy content...<br /> Please wait, this process can take up to a few minutes.");      
      }, 
      success: function(response){ 
       var dummy_result = $(".install_dummy_result"); 
       if(typeof response != 'undefined') 
       { 
        if(response.hasOwnProperty('status')) 
        { 
         switch(response.status) 
         { 
          case 'success': 
            dummy_result.html('Dummy Data import was successfully completed'); 
           break; 
          case 'error': 
            dummy_result.html('<span style="color:#f00">'+response.data+'</span>'); 
           break; 
          default: 
           break; 
         } 

        } 
       } 
       $(".install_dummy_loading").css({display:"none"}); 
      } 
     }); 

    return false; 
    }); 
} 
install_dummy(); 

Любая помощь был бы весьма признателен.

+0

если вы используете средства разработки хрома и перейти к консоли вы можете увидеть, что ваша функция успеха возвращается на: успеха: функция (ответ) { console.log (ответ); ... } – skukx

+0

Спасибо skukx, я зарегистрировал ответ на столбец, и он вернул «нуль». Мне придется копать декаперу, поскольку что-то еще должно происходить. – Jason

+0

Это означает, что сервер отвечает нулем. Это означает, что это проблема на стороне сервера. – skukx

ответ

1
if(typeof response != 'undefined') 

Это означает: «Существует ли переменная, называемая« отклик »?». Поскольку вы принимаете это как параметр функции, там есть/существует переменная, называемая response.

Существование переменной не означает, что она не может быть null. Здесь response определен/существует, но это null. И когда вы говорите:

if(response.hasOwnProperty('status')) 

вы пытаетесь вызвать hasOwnProperty на нулевое значение, и, следовательно, вы получите это исключение. Вы должны сделать:

if (response !== null && response.hasOwnProperty(..)) { ... } 

 Смежные вопросы

  • Нет связанных вопросов^_^