0

我刚刚开始使用 AJAX,试图在用户提交内容之前使用数据库验证表单,但我在 Open 函数的 URL 部分遇到了障碍。当我使用完整的 URL(例如http://www.mywebsite.com/folder/file.php)时,它不起作用,但是当我只使用 file.php 时,就像在相对路径中一样,它可以正常工作。任何想法是什么导致了这种情况,更一般地说,Open 的 URL 部分的规则是什么。在此先感谢您的帮助。我总是对你回答我问题的速度感到惊讶。

xmlhttp.open("GET","myFile.php",true); GOOD
xmlhttp.open("GET","http://www.mywebsite.com/folder/myFile.php",true); BAD?
4

1 回答 1

1

XMLHttpRequests 必须遵守相同的来源策略。对某个域的请求必须来自同一个域。XMLHttpRequest 对象通过将open()方法的 URL 视为相对于存储在 XMLHttpRequest 对象上的基本 URL 来强制执行这一点,该对象使用浏览器当前所在的任何 URL 从主 Window 对象派生。

在此处open()查看 XMLHttpRequest方法的 W3C 规范

于 2012-08-15T04:33:25.887 回答