我试图用jQuery Form Plugi n来处理ajax格式的文件上传。Chrome jQuery表单插件跨域安全漏洞?
只要我没有在表单中输入[type = file],一切都会正常工作。
当我添加一个文件输入型的形式,将上传的文件和工作,因为它应该是在Firefox,但我得到这个错误在Chrome:
不安全的JavaScript尝试访问 与网址 http://swbdev.net:8888/inc/ajax/edit_page/ 与网址 http://swbdev.net:8888/site-pages-edit/19d8bb79c95e164f736f324d1b09a33e/1/#add_elements。 域名,协议和端口必须匹配 。
它明确指出域,协议和端口必须匹配。我错过了什么,在同样的错误,它显示了两个URL和域,协议和端口都匹配?
这里是JavaScript调用插件:
<script type="text/javascript">
$(document).ready(function() {
var options = {
success: function(data) {
alert(data);
},
dataType: 'html',
url: '/inc/ajax/edit_page/'
};
$('#add_elements_form').ajaxForm(options);
});
</script>
更多信息:
它现在没有在FireFox为好,不知道为什么它前面的工作,但这里是在Firefox中的错误:
权限遭拒, http://swbdev.net:8888获得 财产Location.href
它指向在插件这一领域的代码:
function cb() {
if (xhr.aborted) {
return;
}
var doc = io.contentWindow ? io.contentWindow.document : io.contentDocument ? io.contentDocument : io.document;
if (!doc || doc.location.href == s.iframeSrc) {
// response not received yet
if (!timedOut) return;
}
io.detachEvent ? io.detachEvent('onload', cb) : io.removeEventListener('load', cb, false);
var ok = true;
具体地,该行:
if (!doc || doc.location.href == s.iframeSrc
将document.domain添加到AJAX所在的.php文件中发布解决这个问题,但使解释和解析返回数据更难...... – 2011-04-13 01:30:21
你解决了吗? – IamDeveloper 2011-06-29 15:42:15
是的。我在AJAX查询中调用的PHP文件中添加了JavaScript(document.domain)。 – 2011-07-02 18:28:58