Jquery.ajax相当于curl命令

时间:2013-12-05 21:52:10

标签: jquery ajax curl cordova

我正在编写一个需要调用现有API的Phonegap移动应用程序。 curl命令工作正常。 API文档提供以下内容:

$ curl -d login=name@email.com -d password=SecretPassword -d site_key=biguglyhash https://api.example.com/api/v1/session.json

我尝试过以下代码:

$.ajax({
    url: "https://api.example.com/api/v1/session.json",
    type: "POST",
    login: "name@email.com",
    password: "SecretPassword",
    data: "site_key='biguglyhash'",  // tried this 
    site_key: "biguglyhash" // and this
});

我从服务器获得的是:

{"message": "Session could not be created", "errors": ["Invalid site key"]}

我知道网站密钥是正确的,因为curl命令使用相同的密钥。我已经尝试将site_key放在它自己的参数中(参见上文)并作为“data”参数的一部分。两者似乎都做同样的操作。

我做错了什么?

1 个答案:

答案 0 :(得分:1)

假设您没有被同源政策阻止,请尝试

$.ajax({
    url: "https://api.example.com/api/v1/session.json",
    type: "POST",
    data: { 
       login: "name@email.com",
       password: "SecretPassword",
       site_key:"biguglyhash" 
    }
});