检查jQueryAjax是否有响应
我使用jQueryAjax函数在WordPress主题上安装一些演示数据。下面的脚本已经在我以前的主题上工作过了,但是现在由于某种原因我收到了错误消息检查jQueryAjax是否有响应,jquery,typeerror,hasownproperty,Jquery,Typeerror,Hasownproperty,我使用jQueryAjax函数在WordPress主题上安装一些演示数据。下面的脚本已经在我以前的主题上工作过了,但是现在由于某种原因我收到了错误消息 未捕获类型错误:无法调用null的方法“hasOwnProperty” 这是我正在使用的脚本 /* Install Dummy Data */ function install_dummy() { $('#install_dummy').click(function(){ $.ajax({ type: "p
未捕获类型错误:无法调用null的方法“hasOwnProperty”
这是我正在使用的脚本
/* 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();
/*安装虚拟数据*/
函数install_dummy(){
$('install#u dummy')。单击(函数(){
$.ajax({
类型:“post”,
url:$AjaxUrl,
数据类型:“json”,
数据:{action:“install_dummy”,_ajax_nonce:$ajaxNonce},
beforeSend:function(){
$(“.install\u dummy\u result”).html(“”);
$(“.install\u dummy\u loading”).css({display:”“});
$(“.install_dummy_result”).html(“导入虚拟内容…
请稍候,此过程可能需要几分钟。”);
},
成功:功能(响应){
var dummy_result=$(“.install_dummy_result”);
if(响应类型!=“未定义”)
{
if(response.hasOwnProperty('status'))
{
开关(响应状态)
{
成功案例:
dummy_result.html(“虚拟数据导入已成功完成”);
打破
案例“错误”:
dummy_result.html(“”+response.data+“”);
打破
违约:
打破
}
}
}
$(“.install\u dummy\u loading”).css({display:“none”});
}
});
返回false;
});
}
安装_dummy();
任何帮助都将不胜感激
if(typeof response != 'undefined')
这意味着:“有一个叫做‘响应’的变量吗?”。由于您将其作为函数参数接收,因此存在一个名为response
的变量
变量的存在并不意味着它不能为null
。在这里,response
已定义/存在,但它是null
。当你说:
if(response.hasOwnProperty('status'))
您试图在空值上调用hasOwnProperty
,因此会得到该异常。你必须做到:
if (response !== null && response.hasOwnProperty(..)) { ... }
如果您使用chrome开发工具并转到控制台,您可以通过以下方式查看成功函数返回的内容:success:function(response){console.log(response);…}感谢skukx,我记录了对colsole的响应,它返回了“null”。我将不得不挖掘deaper,因为肯定发生了其他事情。这意味着服务器响应为null。这意味着这是服务器端的问题。