Я пытаюсь настроить способ отправки json на сервер, который сохранит его в файле. Я пытаюсь создать его для приложения PhoneGap.XMLHttpRequest не может загрузить URL. Ответ на предполетный проход не проходит ... поэтому не разрешен доступ
В настоящее время у меня есть:
tabulated = [Some object]
$.ajax({
url: "http://localhost:33330/write-file",
type: "POST",
crossDomain: true,
data: "data=" + JSON.stringify(tabulated),
dataType: "json",
contentType: "application/json",
success: function(response) {
alert(response);
},
error: function(request, textStatus, errorThrown) {
alert(request);
alert(textStatus);
alert(errorThrown);
}
});
Конечный сервер является Джанго. В urlpatterns
, я включил url(r'^write-file$', views.WriteToFileView.as_view())
, и в views.py, у меня есть:
class WriteToFileView(View):
def get(self, request, *args, **kwargs):
return HttpResponse()
def post(self, request, *args, **kwargs):
repr(request)
return HttpResponse("Yay!")
Ответ всегда:
XMLHttpRequest cannot load http://localhost:33330/write-file. Response to preflight request doesn't pass access control check: No 'Access-Control-Allow-Origin' header is present on the requested resource. Origin 'http://localhost:33331' is therefore not allowed access.
Что я делаю неправильно?
Edit 1
Это была помечена как дубликат this question, однако я не считаю, что это. Этот вопрос терпит неудачу из-за Null Origin
. У меня нет этой проблемы. Ошибка на этой странице не упоминает ничего о предполетной проверке, тогда как моя.
Кроме того, я не получаю доступа к сторонним страницам. Я пытаюсь настроить связь между двумя локальными хост-серверами на разных портах. (Обратите внимание на это в ошибке)
Ответы на странице упоминания:
- 1) "не проходя типа JSONP до $ .get" ---> Я не использую $ .get, ни я Я передаю jsonp
- 2) «используя файл: // URL» ---> Я тоже не делаю этого.
Все равно, я прочитал все ответы, но ни один из них, похоже, не применим к моему вопросу. Могу ли я, пожалуйста, объяснить, почему это дубликат?
Я понимаю, что это, вероятно, дубликат, но мое отсутствие понимания не позволяет мне понять, почему. Могу ли я попросить объяснить, как мой вопрос такой же, как тот? Я не получаю нулевое происхождение, и мой код использует '$ .ajax', а не' $ .get'. Опять же, я уверен, что это недостаток понимания, поэтому любое объяснение будет оценено. Спасибо – kirypto