使用javascript获取远程代码/文本?
因此,我正在制作一个动态下拉选择表单,我需要让每个菜单从预先构建的html块(例如位于)传播可能的选择。有没有一种简单的方法可以使用javascript获取远程页面的html,然后将其插入页面?我知道我可以使用.write()插入代码,但我不知道如何获取它使用javascript获取远程代码/文本?,javascript,jquery,forms,Javascript,Jquery,Forms,因此,我正在制作一个动态下拉选择表单,我需要让每个菜单从预先构建的html块(例如位于)传播可能的选择。有没有一种简单的方法可以使用javascript获取远程页面的html,然后将其插入页面?我知道我可以使用.write()插入代码,但我不知道如何获取它 谢谢 您需要的东西称为AJAX(异步JavaScript和XML)。如果您正在使用jQuery: $('#my-select-thingy').load('select-options.cgi'); 或者任何您喜欢的服务器端风格。您应该在H
谢谢 您需要的东西称为AJAX(异步JavaScript和XML)。如果您正在使用jQuery:
$('#my-select-thingy').load('select-options.cgi');
或者任何您喜欢的服务器端风格。您应该在HTML中有如下内容:
<div id="my-select-thingy">
<!-- select will go here -->
</div>
上面的url应该返回如下内容:
<select>
<option>Foo</option>
<option>Bar</option>
</select>
福
酒吧
您需要的东西叫做AJAX(异步JavaScript和XML)。如果您正在使用jQuery:
$('#my-select-thingy').load('select-options.cgi');
或者任何您喜欢的服务器端风格。您应该在HTML中有如下内容:
<div id="my-select-thingy">
<!-- select will go here -->
</div>
上面的url应该返回如下内容:
<select>
<option>Foo</option>
<option>Bar</option>
</select>
福
酒吧
使用jQuery可以更好地实现这一点。只要看看Ajax方法,你就会明白其中的诀窍 使用jQuery做这件事要好得多。只要看看Ajax方法,你就会明白其中的诀窍 实际上,您不能使用write
插入代码,在初始页面呈现完成后就不能这样做
加载代码
我第一次读到你的问题是你想加载代码,比如JavaScript。这里是你如何做到这一点,但见下文
最简单的方法是,如果您的代码存在于JavaScript文件的源位置,并且已准备好以正常方式包含在文件中。在这种情况下,您只需创建一个script
元素并将其添加到文档中:
var script = document.createElement('script');
script.type = "text/javascript";
script.src = /* ... the URL of the code ... */;
document.body.appendChild(script);
document.body.removeChild(script);
请注意,最后一行是在将脚本插入文档后立即删除节点。插入节点就是您所需要做的一切,它会立即触发获取和解释JavaScript文件的过程。您可以立即删除脚本元素(或者不删除,由您决定)
在上面,我已经将元素添加到document.body
,因为它很方便,而且添加到哪里都不重要。但是,大多数执行此操作的脚本通常会将其添加到头中。那也很好。更多信息,尽管重点是原型库
说到库,尽管有上述所有内容,但如果您使用诸如、或之类的JavaScript库,可能会使这(甚至)变得更容易
更新:您以后添加了jQuery
标记了吗?我原来没看到。使用jQuery,如果从与文档相同的来源加载脚本,则可以使用:
然而,getScript
与上述技术不同getScript
将受到的阻碍,而添加script
标记则不会
加载标记
如果要加载HTML标记并将其应用于页面的一部分,可以使用jQuery.load
:
$('#someid').load("yoururl.here");
这将使用从给定URL返回的HTML替换id为“someid”的元素内容。将选项
加载到选择中,并将文本(段落)加载到div中。使用库(如jQuery)更容易实现这一点,因为库通常为您处理的某些元素存在一些问题。实际上,您不能使用写入
插入代码,一旦初始页面呈现完成,就不会出现这种情况
加载代码
我第一次读到你的问题是你想加载代码,比如JavaScript。这里是你如何做到这一点,但见下文
最简单的方法是,如果您的代码存在于JavaScript文件的源位置,并且已准备好以正常方式包含在文件中。在这种情况下,您只需创建一个script
元素并将其添加到文档中:
var script = document.createElement('script');
script.type = "text/javascript";
script.src = /* ... the URL of the code ... */;
document.body.appendChild(script);
document.body.removeChild(script);
请注意,最后一行是在将脚本插入文档后立即删除节点。插入节点就是您所需要做的一切,它会立即触发获取和解释JavaScript文件的过程。您可以立即删除脚本元素(或者不删除,由您决定)
在上面,我已经将元素添加到document.body
,因为它很方便,而且添加到哪里都不重要。但是,大多数执行此操作的脚本通常会将其添加到头中。那也很好。更多信息,尽管重点是原型库
说到库,尽管有上述所有内容,但如果您使用诸如、或之类的JavaScript库,可能会使这(甚至)变得更容易
更新:您以后添加了jQuery
标记了吗?我原来没看到。使用jQuery,如果从与文档相同的来源加载脚本,则可以使用:
然而,getScript
与上述技术不同getScript
将受到的阻碍,而添加script
标记则不会
加载标记
如果要加载HTML标记并将其应用于页面的一部分,可以使用jQuery.load
:
$('#someid').load("yoururl.here");
这将使用从给定URL返回的HTML替换id为“someid”的元素内容。将选项
加载到选择
中,并将文本(段落)加载到div中。使用库(如jQuery)更容易实现这一点,因为库通常为您处理的某些元素存在一些问题。出于安全原因,Javascript通常无法访问其他网站。如果我们可以用脚本从任何我们想要的地方加载内容,我们会看到一些相当猖獗的混乱。一个简单的解决方案是一个包含其他文档的iframe,或者只是其中的一部分
该网站是否为您提供了访问该信息的权限?如果你