2016-06-07 2 views
1

Я пытаюсь настроить способ отправки 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» ---> Я тоже не делаю этого.

Все равно, я прочитал все ответы, но ни один из них, похоже, не применим к моему вопросу. Могу ли я, пожалуйста, объяснить, почему это дубликат?

+0

Я понимаю, что это, вероятно, дубликат, но мое отсутствие понимания не позволяет мне понять, почему. Могу ли я попросить объяснить, как мой вопрос такой же, как тот? Я не получаю нулевое происхождение, и мой код использует '$ .ajax', а не' $ .get'. Опять же, я уверен, что это недостаток понимания, поэтому любое объяснение будет оценено. Спасибо – kirypto

ответ

0

Вы должны отключить Корс обе стороны ..

+0

Как это сделать? – kirypto

+0

просто просматривайте его в сети, это очень обычная проблема, и почти у всех техников есть это сейчас. Я бы хотел помочь, но я действительно не освою техников, над которыми вы работаете. Но все-таки проверьте «Фильтры CORS» или «Отключение CORS» в интересующей вас области, и вы найдете адекватное учебное пособие, в котором я довольно уверен. –

Смежные вопросы