Я пытаюсь отправить запрос AJAX от моего ящика развития локального компьютера на сервер, используяJQuery .ajax() GET запрос отправки OPTIONS
<!DOCTYPE html>
<html>
<head>
<title>JSSample</title>
<script src="http://ajax.googleapis.com/ajax/libs/jquery/1.9.0/jquery.min.js"></script>
</head>
<body>
<script type="text/javascript">
$(function() {
var params = {
format: "JSON",
season: "2015REG"
// Request parameters
};
$.ajax({
url: "https://<mysite>/sub/" + params.format + "/" + params.season,
beforeSend: function(xhrObj){
// Request headers
xhrObj.setRequestHeader("Ocp-Apim-Subscription-Key","<mykey>");
},
type: "GET"
})
.done(function(data) {
alert("success");
console.log("Data: \n" + JSON.stringify(data));
})
.fail(function(error) {
alert("error");
console.log("Error" + JSON.stringify(error));
});
});
</script>
</body>
</html>
, когда я смотрю в Firefox я вижу, что это на самом деле отправив OPTIONS запрос, на который не ответил сервер (404 не найден), поэтому я получаю ошибку с перекрытием запроса на перекрестный запрос.
OPTIONS
XHR
https://mysite [HTTP/1.1 404 Resource Not Found 2437ms]
Cross-Origin Request Blocked: The Same Origin Policy disallows reading the remote resource at https://mysite (Reason: CORS header 'Access-Control-Allow-Origin' missing).
Что я делаю неправильно? Почему jquery пытается задать параметры, когда я явно отправляю GET? Кроме того, у меня нет этого сервера, его другой компании, у которой есть API подписки, поэтому я не могу предоставить ключ или что-нибудь, что поможет устранить неполадки.
Извините, я просто обновил вопрос, чтобы сказать, что у меня не было сервера. Тем не менее, я смог использовать приложение Chrome RestClient для проверки запроса, и он успешно работает с этим клиентом. Означает ли это, что я делаю что-то неправильно в своем коде? – Derek
[JSONP] (http://dev.socrata.com/docs/cors-and-jsonp.html) может быть другой альтернативой - но казалось бы, что OP делает что-то по своей сути неправильно, если он сталкивается с этим. –
@Derek вы можете обновить свой вопрос с помощью полного кода. –