因此,我正试图从自己的脚本向localhost发出跨站点AJAX请求。在用户脚本(运行在Firefox的Scriptish引擎上)中,我加载的脚本如下
myscript_include.setAttribute('src', 'http://localhost/myscript.js?' + Math.random());
head.appendChild(myscript_include);
它确实有效。然后,在myscript.js
中,我尝试从localhost读取数据(最后,我想向localhost上的脚本发出get-post请求,以便在不编写实际Firefox扩展的情况下向网页添加任何所需的功能)。
以下是我添加到myscript.js
:的跨站点AJAX请求的说明
$.getJSON('http://localhost/ajaxdata.json', function(json) {
alert(json.message);
});
Firefox JS控制台显示GET请求实际上已经发出,状态为200OK。它甚至显示Content-Length 39,这确实是真的,但Response字段仍然为空,并且没有显示alert!
这个结构有什么问题(除了它本身很可怕)?有办法做我想做的事吗?
不确定,但向localhost添加Access Control Allow Origin标头可能会解决这个问题?
参考:https://developer.mozilla.org/En/HTTP_access_control