使用CORS的JQuery AJAX到PHP问题

时间:2014-04-23 05:00:13

标签: jquery ajax cors

我正在尝试构建一个php API,我可以使用JQuery发布到以制作Phonegap应用程序。当我尝试使用AJAX调用时,我一直遇到CORS(我认为)的问题

这是我的Ajax调用:

$.ajax({
    type: 'POST',
    url: "http://xxx.xxx.xxx.xxx/v1/login",
    data: { 
        user: username, 
        pass: password
    }
}).done(function( msg ) {
    console.log(msg);
});

以下是我在PHP文件中设置的标题:

header('Access-Control-Allow-Origin: *');
header('Access-Control-Allow-Methods: GET, POST, PUT, DELETE, OPTIONS');
header('Access-Control-Max-Age: 604800');
header('Access-Control-Allow-Headers: x-requested-with');

每次运行ajax调用时,我都会在控制台中返回相同的错误:

POST http://xxx.xxx.xxx.xxx/v1/login 500 (Internal Server Error) 
l.cors.a.crossDomain.send
o.extend.ajax
login
onclick

Ajax调用在一个名为' login'的函数中。这是按钮点击运行,我认为这是错误信息的最后两行,但我不了解其余部分。另外,如果我添加一个contentType:" application / json"到ajax调用错误消息更改为

OPTIONS http://xxx.xxx.xxx.xxx/v1/login 500 (Internal Server Error)
l.cors.a.crossDomain.send
o.extend.ajax
login
onclick
XMLHttpRequest cannot load http://xxx.xxx.xxx.xxx/v1/login. Invalid HTTP status code 500 

我不知道这是否重要,但我是在运行Amazon Linux的AWS EC2和我按照以下说明设置的LAMP堆栈上运行它: http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/install-LAMP.html

我已经退出的剩余头发说感谢任何人都可以提供帮助。 :)

1 个答案:

答案 0 :(得分:0)

我不认为这与CORS有关。状态代码500表示服务器出错。检查服务器日志是否有任何错误。