var array = new Array();
$.get('comics.txt', function(data) {
array = data.split(",");
for(var i = 0; i < array.length; i++)
{
var $page = array[i];
$.ajax({
url: $page,
success: function(data) {
alert(data);
}
});
}
});
comics.txt是一个文件,其中包含一些以逗号分隔的网址。
在上面的代码中,$ .ajax调用不起作用; $ page是正确的URL,但它在上下文中不起作用。警报(数据)导致出现空白警报框。我需要帮助找出一种方法来从数组中的每个页面获取数据。
提前致谢。
答案 0 :(得分:6)
在您的域名中是$page
个网址?...如果没有,则无法执行ajax ...
你可以从你的服务器上得到它......如果是这样,我如何通过外部URL的javascript获取数据?
例如..
var array = new Array();
$.get('comics.txt', function(data) {
array = data.split(",");
for(var i = 0; i < array.length; i++)
{
var $page = array[i];
$.ajax({
url: 'your/server/url.php?page=' + $page,
success: function(data) {
alert(data);
}
});
}
});
your/server/url.php
可以为您提供该页面...
答案 1 :(得分:0)
您无法从客户端的浏览器向其他域发出请求。这是一个巨大的安全风险。如果文本文件中的URL与javascript正在运行的域位于同一个域,则此代码将起作用。
答案 2 :(得分:0)
您可以通过动态向DOM添加脚本元素来跨站点脚本,其中src属性指向您喜欢的位置;只要src中引用的内容返回JavaScript(protip:在类似AJAX的行为的XSS末尾执行预定义函数),它就可以工作。
网站1:
<script type="text/javascript">
$(document).ready( function() {
$('body').append($("<script>").attr('src', "http://mydomain.com/xss.js"));
} );
function alerty (thing) {
alert(thing);
}
</script>
网站2(xss.js):
var mystring = "hello";
if (typeof(alerty) != "undefined") {
alerty(mystring);
}
显然,URL不必是一个平面文件 - 它可能是由PHP根据URL中的GET请求构造的JavaScript。此外,这假设您可以控制远程数据,您可能没有。