Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/469.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/68.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 完成.load()时的jQuery操作_Javascript_Jquery_Ajax_Load - Fatal编程技术网

Javascript 完成.load()时的jQuery操作

Javascript 完成.load()时的jQuery操作,javascript,jquery,ajax,load,Javascript,Jquery,Ajax,Load,我正在尝试在我的load()请求完成时启动一个操作,但是警报一直没有出现。load()请求有效,因为我可以在我的.hahadiv中看到mypage.html的内容。这是非常简单的代码: <script type="text/javascript" src="http://code.jquery.com/jquery-1.11.3.min.js"></script> Hello <div class="haha"></div> <scrip

我正在尝试在我的
load()
请求完成时启动一个操作,但是
警报一直没有出现。
load()
请求有效,因为我可以在我的
.haha
div中看到
mypage.html
的内容。这是非常简单的代码:

<script type="text/javascript" src="http://code.jquery.com/jquery-1.11.3.min.js"></script>

Hello
<div class="haha"></div>

<script type="text/javascript">
    $(document).ready(function(){
        $('.haha').load('mypage.html', function(xhr) {
            if (xhr.readyState == 4 && (xhr.status == 200 || xhr.status == 0)) {
                alert('TEST TEST'); 
            }
            alert('TEST TEST'); 
        });
    });
</script>

如果您查看文档,您将看到
xhr
对象是传递给回调函数的第三个参数。您的代码很可能在尝试访问不存在的返回字符串的属性时生成语法错误,这将停止进一步执行。试试这个:

$('.haha').load('mypage.html', function(response, status, xhr) { // note the extra params
    if (xhr.readyState == 4 && (xhr.status == 200 || xhr.status == 0)) {
        alert('TEST TEST'); 
    }
    alert('TEST TEST'); 
});

如果您查看文档,您将看到
xhr
对象是传递给回调函数的第三个参数。您的代码很可能在尝试访问不存在的返回字符串的属性时生成语法错误,这将停止进一步执行。试试这个:

$('.haha').load('mypage.html', function(response, status, xhr) { // note the extra params
    if (xhr.readyState == 4 && (xhr.status == 200 || xhr.status == 0)) {
        alert('TEST TEST'); 
    }
    alert('TEST TEST'); 
});

首先,函数load的回调参数仅在请求完成后调用,因此您不必检查
xhr.readyState==4


其次,您通过函数
load
加载一个html,我猜页面
mypage.html
包含一些javascript代码,一些代码调用页面中不包含的函数
$.cookie
。因此,错误首先由页面
mypage.html
中的js代码打印到控制台产品中,函数加载的回调参数仅在请求完成后调用,因此您不必检查
xhr.readyState==4


其次,通过函数
load
加载html,我猜页面
mypage.html
包含一些javascript代码,一些代码调用了页面中不包含的函数
$.cookie
。因此,在控制台产品中,您可以通过页面
mypage.html

中的js代码打印错误。为什么要检查xhr状态?好吧,对于xhr状态,它应该告诉我请求何时完成并准备就绪。但是,不管有没有,它都不起作用,你不需要检查它。在最后添加函数,它将工作。卸下if和函数变量$('.haha').load('mypage.html',function(){alert('TEST')});我一开始就试过了。我去寻找xhr条件,因为它与你的建议不起作用。以下是网站:看看为什么要检查xhr状态?好吧,有了xhr状态,它应该告诉我我的请求何时完成并准备就绪。但是,不管有没有,它都不起作用,你不需要检查它。在最后添加函数,它将工作。卸下if和函数变量$('.haha').load('mypage.html',function(){alert('TEST')});我一开始就试过了。我去寻找xhr条件,因为它与你的建议不起作用。以下是网站:看一看,OK,所以我尝试了:(很抱歉,由于load()的原因,我无法执行JSFIDLE)它仍然没有在我的控制台中显示警报,我有:“主线程上的同步XMLHttpRequest已被弃用,因为它会对最终用户的体验产生有害影响。如需更多帮助,请查看。FAToolbar.js:1未捕获类型错误:$。cookie不是函数“第一个是警告,不是错误,因为您在代码中的某个地方设置了
async:false
——我强烈建议您删除它。第二个错误是因为您在尝试使用jQuery cookie插件之前没有包含它。但是,这两个错误都与您在问题中显示的代码无关。我可以看到您仍然收到
$错误。不过,cookie
错误。这是OK!我找到了一个CDN!对于cookie插件!它现在显示警报。OK,所以我尝试了:(很抱歉,由于load()的原因,我无法执行JSFIDLE)它仍然没有在我的控制台中显示警报,我有:“主线程上的同步XMLHttpRequest已被弃用,因为它会对最终用户的体验产生有害影响。如需更多帮助,请查看。FAToolbar.js:1未捕获类型错误:$。cookie不是函数“第一个是警告,不是错误,因为您在代码中的某个地方设置了
async:false
——我强烈建议您删除它。第二个错误是因为您在尝试使用jQuery cookie插件之前没有包含它。但是,这两个错误都与您在问题中显示的代码无关。我可以看到您仍然收到
$错误。不过,cookie
错误。这是OK!我找到了一个CDN!对于cookie插件!它现在显示警报。