Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/81.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
Php javascript中出现意外的未定义错误_Php_Jquery - Fatal编程技术网

Php javascript中出现意外的未定义错误

Php javascript中出现意外的未定义错误,php,jquery,Php,Jquery,我有一个页面,其中有一个函数调用js文件中的函数 调用js文件中函数的代码: <script language="javascript" type="text/javascript"> var qc = qc_chat; window.onload = function() { qc.setup('<?php echo $p; ?>'); } </script> 我正在使用 但是我在控制台uncaughtreferenceerror:qc\u chat未定义

我有一个页面,其中有一个函数调用js文件中的函数

调用js文件中函数的代码:

<script language="javascript" type="text/javascript">
var qc = qc_chat;
window.onload = function()
{
qc.setup('<?php echo $p; ?>');
}
</script>
我正在使用

但是我在控制台
uncaughtreferenceerror:qc\u chat未定义中得到错误


谢谢

因为
$.getScript
是异步的,任何依赖于它加载的脚本的操作都必须在它的回调函数中完成。因此,它应该是:

$.getScript('qc.js', function() {
    qc_chat.setup('<?php echo $p; ?>');
});
$.getScript('qc.js',function(){
qc_聊天设置(“”);
});

由于
$.getScript
是异步的,任何依赖于它加载的脚本的操作都必须在它的回调函数中完成。因此,它应该是:

$.getScript('qc.js', function() {
    qc_chat.setup('<?php echo $p; ?>');
});
$.getScript('qc.js',function(){
qc_聊天设置(“”);
});

由于
$.getScript
是异步的,任何依赖于它加载的脚本的操作都必须在它的回调函数中完成。因此,它应该是:

$.getScript('qc.js', function() {
    qc_chat.setup('<?php echo $p; ?>');
});
$.getScript('qc.js',function(){
qc_聊天设置(“”);
});

由于
$.getScript
是异步的,任何依赖于它加载的脚本的操作都必须在它的回调函数中完成。因此,它应该是:

$.getScript('qc.js', function() {
    qc_chat.setup('<?php echo $p; ?>');
});
$.getScript('qc.js',function(){
qc_聊天设置(“”);
});

当我无法编辑某些模块连接的位置时,我使用以下代码段:

var waitForqcchat = setInterval(function(){
  if(typeof qcchat != 'undefined'){
    clearInterval(waitForqcchat);
    //here I sure, that module connected
    qcchat.setup('<?=$p?>');
  }
}, 200);
var waitforqchat=setInterval(函数(){
if(qcchat的类型!=“未定义”){
clearInterval(WaitForQChat);
//在这里,我确定,该模块已连接
qcchat.setup(“”);
}
}, 200);

如果qcchat永远无法连接,您还应该编写一个逻辑来限制等待

当我无法编辑某些模块连接的位置时,我使用以下代码段:

var waitForqcchat = setInterval(function(){
  if(typeof qcchat != 'undefined'){
    clearInterval(waitForqcchat);
    //here I sure, that module connected
    qcchat.setup('<?=$p?>');
  }
}, 200);
var waitforqchat=setInterval(函数(){
if(qcchat的类型!=“未定义”){
clearInterval(WaitForQChat);
//在这里,我确定,该模块已连接
qcchat.setup(“”);
}
}, 200);

如果qcchat永远无法连接,您还应该编写一个逻辑来限制等待

当我无法编辑某些模块连接的位置时,我使用以下代码段:

var waitForqcchat = setInterval(function(){
  if(typeof qcchat != 'undefined'){
    clearInterval(waitForqcchat);
    //here I sure, that module connected
    qcchat.setup('<?=$p?>');
  }
}, 200);
var waitforqchat=setInterval(函数(){
if(qcchat的类型!=“未定义”){
clearInterval(WaitForQChat);
//在这里,我确定,该模块已连接
qcchat.setup(“”);
}
}, 200);

如果qcchat永远无法连接,您还应该编写一个逻辑来限制等待

当我无法编辑某些模块连接的位置时,我使用以下代码段:

var waitForqcchat = setInterval(function(){
  if(typeof qcchat != 'undefined'){
    clearInterval(waitForqcchat);
    //here I sure, that module connected
    qcchat.setup('<?=$p?>');
  }
}, 200);
var waitforqchat=setInterval(函数(){
if(qcchat的类型!=“未定义”){
clearInterval(WaitForQChat);
//在这里,我确定,该模块已连接
qcchat.setup(“”);
}
}, 200);


如果qcchat永远无法连接,您还应该编写一个逻辑来限制等待

其中定义了
qc_chat
。如果根本没有定义,您将收到此错误。是的,请显示定义位置。它不在您的代码中。
qc\u chat
是否在
qc.js
中定义了
onLoad
事件将在任何异步调用完成之前触发……您不能在定义了
qc\u chat
的外部js文件中使用PHP。如果根本没有定义,您将收到此错误。是的,请显示定义位置。它不在您的代码中。
qc\u chat
是否在
qc.js
中定义了
onLoad
事件将在任何异步调用完成之前触发……您不能在定义了
qc\u chat
的外部js文件中使用PHP。如果根本没有定义,您将收到此错误。是的,请显示定义位置。它不在您的代码中。
qc\u chat
是否在
qc.js
中定义了
onLoad
事件将在任何异步调用完成之前触发……您不能在定义了
qc\u chat
的外部js文件中使用PHP。如果根本没有定义,您将收到此错误。是的,请显示定义位置。它不在您的代码中。
qc\u chat
是否在
qc.js
中定义了?
onLoad
事件将在任何异步调用完成之前触发…您不能在外部js文件中使用PHP可能是
错误未显示,但我的代码也不工作…这取决于该文件:(如果它没有得到错误,那么它正在运行函数。我无法解释为什么它没有达到您的预期。使用JS调试器,在
qc\u chat.setup
行上设置断点,然后查看发生了什么。@Barmar nohting happend…我想我需要加载
doThat()
在页面加载之前加载qc.js,以便在页面加载完成之前加载qc.js?如何实现?这似乎不太可能。但是您可以通过调用do
doThat()来实现
中的
标记中,而不是
onload
属性中,它将在主体加载之前运行。但由于它使用AJAX,
qc.js
直到稍后才会加载。可能是
错误不在显示,但我的代码也不工作…这取决于该文件:(如果它没有得到错误,那么它正在运行函数。我无法解释为什么它没有达到您的预期。使用JS调试器,在
qc\u chat.setup
行上设置断点,然后查看发生了什么。@Barmar nohting happend…我想我需要加载
doThat()
在页面加载之前加载qc.js,以便在页面加载完成之前加载qc.js?如何实现?这似乎不太可能。但是您可以通过调用do
doThat()来实现
中的
标记中,而不是
onload
属性中,它将在主体加载之前运行。但由于它使用AJAX,
qc.js
直到稍后才会加载。可能是
错误不在显示,但我的代码也不工作…这取决于该文件:(如果它没有得到错误,那么它就是在运行函数。我无法解释为什么它没有达到预期效果。使用JS调试器,设置断点