2013-08-06 3 views
1

Я использую вызов cURL api, и я преобразовал его в ajax, но он не работает. Есть идеи?aJax REST API call - Curl Works while aJax failed

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 неавторизованные & текст/html & query.min/JS: 2 сценария

ответ

2

междоменное Ajax вызовы не разрешены. Решение изменить dataType на jsonp и использовать GET метод, но в вашем случае это, вероятно, невозможно.

+0

Хорошо, как мне сделать междоменный вызов? Мне не нужно, чтобы он был ajax, но клиентская сторона была бы идеальной. – Marcus

+0

С внешним api (вы не можете изменить) самый простой способ - сделать ajax-вызов на ваш сервер и на сервере сделать cURL-вызов. Это немного грязно, но будет работать. – kwarunek