【发布时间】:2017-06-15 17:25:30
【问题描述】:
所以我第一次尝试使用 Codeigniter。我试图建立一个登录系统。看看这里:http://www.henryspike.tk/udemy/
当您尝试登录时,它应该使用 AJAX 向控制器发送数据,但 chrome 显示错误:
XMLHttpRequest 无法加载 http://www.henryspike.tk/udemy/index.php/main/login。请求的资源上不存在“Access-Control-Allow-Origin”标头。因此,Origin 'http://henryspike.tk' 不允许访问。响应的 HTTP 状态代码为 500。
我搜索了这个问题,发现它与跨域的东西有关。我没有尝试补救措施,因为我认为我不会使用来自另一个域的 AJAX。控制器和视图/jQuery 存在于同一个域中。
是不是因为我在我的域(即 Udemy)的子文件夹中安装了 Codeigniter!我想声明我在 config.php 中将基本 url 正确编辑为 http://www.henryspike.tk/udemy
【问题讨论】:
-
你能告诉我在哪里添加标题吗?在哪个文件中?
-
请附上问题的Minimal, Complete, and Verifiable example,以便我们看到而不是猜测。
-
好吧,访问henryspike.tk/udemy 尝试使用任何电子邮件/密码登录。确保您已打开控制台。然后,只要您单击登录,AJAX 就应该将数据传递给控制器。但它没有并返回一个 CORS 错误
-
你能告诉我根文件夹中的 .htaccess 吗?
-
我没有 .htaccess 文件。需要注意的一件重要事情是,当我将标题内容添加到我的控制器中时,它一切正常......但我想知道行为背后的原因......因为我在同一个域上,为什么它需要一个控制器前的标头?
标签: php jquery ajax codeigniter