Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/463.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/1/php/262.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
.load()是否检索Javascript?_Javascript_Php_Jquery - Fatal编程技术网

.load()是否检索Javascript?

.load()是否检索Javascript?,javascript,php,jquery,Javascript,Php,Jquery,因此,我有一个包含Javascript(和PHP)的div: .load()方法会在div中检索并运行Javascript吗 或者.load()是否只将html传递到div?如果传递给.load的参数末尾没有包含选择器,则会运行其中的脚本 但是,由于您使用选择器调用了.load,因此其中的任何脚本都不会运行。见: 脚本执行 使用不带后缀选择器表达式的URL调用.load()时,在删除脚本之前,内容将传递到.html()。这将在脚本块被丢弃之前执行它们如果调用.load(),并将选择器表达式附加到

因此,我有一个包含Javascript(和PHP)的div:

.load()方法会在div中检索并运行Javascript吗


或者.load()是否只将html传递到div?

如果传递给
.load
的参数末尾没有包含选择器,则会运行其中的脚本

但是,由于您使用选择器调用了
.load
,因此其中的任何脚本都不会运行。见:

脚本执行

使用不带后缀选择器表达式的URL调用
.load()
时,在删除脚本之前,内容将传递到
.html()
。这将在脚本块被丢弃之前执行它们如果调用
.load()
,并将选择器表达式附加到URL,则脚本将在更新DOM之前剥离,因此不会执行。
下面可以看到这两种情况的示例:

在这里,作为文档的一部分加载到#a中的任何JavaScript都将成功执行

$( "#a" ).load( "article.html" );
但是,在以下情况下,要加载到#b中的文档中的脚本块会被剥离,并且不会执行:

$( "#b" ).load( "article.html #target" );
您的案例是第二个,因此内联
s将被剥离而不运行

如果要在客户端上更新
NumItems
的值,请不要使用
.load
-而是向只回显
$\u会话['NumItems']
的PHP脚本发出网络请求,并将响应设置为
会话存储
项。

.load()方法仅加载以下数据:

网址 类型:字符串 包含请求发送到的URL的字符串。 数据 类型:PlainObject或String 随请求一起发送到服务器的普通对象或字符串。 完成 类型:函数(字符串响应文本、字符串文本状态、jqXHR jqXHR) 请求完成时执行的回调函数

在我看来,您可以将文件路径作为参数传递给该方法,该文件中的任何javascript逻辑都将执行

但是,

在这里,作为文档的一部分加载到#a中的任何JavaScript都将成功执行

$( "#a" ).load( "article.html" );
但是,在下面的情况下,要删除的文档中的脚本块 加载到#b中的数据被剥离,且未执行:

$( "#b" ).load( "article.html #target" );

这应该可以运行JavaScript(尽管我不喜欢这种设计)。请记住,PHP在发送到客户端浏览器之前在服务器上执行(因此在发送头之前需要
session_start();
),jQuery随后进行解析。如果要阻止客户端更新会话,则只需创建一个服务器
$\u会话
。使用AJAX与您的PHP页面通信。谢谢,我将采用您建议的方法。我还想指出,您可能在这里输入了一个错误:“因为您使用选择器调用了.load,所以里面的所有脚本都将运行。”根据您的其余评论,我想您的意思是“不会”运行。如果是这样的话,为了清晰起见,也许可以编辑该部分。
$( "#a" ).load( "article.html" );
$( "#b" ).load( "article.html #target" );