2013-08-06 130 views
1

我正在使用cURL api调用,并将其转换为ajax,但它不起作用。有任何想法吗?aJax REST API调用 - curl在ajax失败的情况下工作

curl -v -X POST -H "Content-Type: application/json" -H "Accept: application/json" --user user:pass https://i.am.web/123456789/events -d "{\"name\": \"Marcus0.1\",\"start\": 500000,\"end\": 1361640526000}" 

$.ajax({ 
    type: 'POST', 
    url: 'https://i.am.web/123456789/events', 
    dataType: 'application/json', 
    accept: 'application/json', 
    async: false, 
    username: 'user', 
    password: 'pass', 
    data: { 
     "name": "Marcus0.3", 
     "start": 500000, 
     "end": 1361640526000 
    }, 
    success: function(){alert('DONE!');}, 
    error:function(error){alert(error)}, 
}); 
alert("ENDING API MAIN FUNCTION") 

Chrome的错误:

http://i.am.website/123456789 & POST & 401未经授权& text/html的& query.min/JS:2脚本

回答

2

跨域Ajax调用是不允许的。解决方案将dataType更改为jsonp并使用GET方法,但在您的情况下可能不可能。

+0

好的,我该如何进行跨域调用?我不需要它是ajax,但客户端将是理想的 – Marcus

+0

使用外部api(你不能改变)最简单的方法是让ajax调用你的服务器并在服务器上调用cURL。这有点脏,但会起作用。 – kwarunek