- Загрузил последний zip-файл
django-dajaxice
из github, затем разархивировать его. - Затем я ввожу
django-dajaxice-master/examples
папку, запустите 'python manage.py runningerver 13.122.241.172:80', (это IP-адрес моего компьютера).
Сервер начался нормально. На этом серверном компьютере я могу посетить http13.122.241.172 /, и страница отображается нормально. Затем я нажимаю кнопку «Hello», я могу получить правильный ответ.Django сервер на одном компьютере, клиент на другом компьютере
Проблема:
В компьютере моего коллегу, чей IP является 13.122.242.16, он может посетить http13.122.241.172/
, НО, когда он нажмите кнопку «Hello», нет никакого ответа!
Debugging:
Затем я проверяю окно командной строки, я вижу, когда он нажмите на кнопку, мой сервер никогда не получит «GET /dajaxice/simple.hello/?argv=undefined HTTP/1.1
» запрос! Я настолько смущен этой проблемой и работал над ней три дня. Кто-нибудь может мне помочь?
Примечание:
- Джанго версия
1.4.20
. - Django Настройки: DEBUG = True.
Мой коллега может посетить http://www.dajaxproject.com/dajaxice/, и если он нажмет «Получить сообщение с сервера!» он может получить ответ сервера.
Код:
Это соответствующий код из dajaxice project:
index.html (шаблон)
{% load dajaxice_templatetags %}
<html>
<head>
{% dajaxice_js_import 'nocsrf' %}
</head>
<body>
<button onclick="Dajaxice.simple.hello(function(d){alert(d.message);})">Hello</button>
<button onclick="Dajaxice.simple.bye(function(d){alert(d.message);})">Bye</button>
<button onclick="Dajaxice.more.complex.bye(function(d){alert(d.message);})">Complex Bye</button>
<button onclick="Dajaxice.simple.lol(function(d){alert(d.message);})">LOL</button>
<button onclick="Dajaxice.simple.get_args(function(d){alert(d.message);}, {'foo': 'var'})">GET args</button>
</body>
</html>
ajax.py
import json
from dajaxice.decorators import dajaxice_register
@dajaxice_register(method='GET')
@dajaxice_register(method='POST', name='other_post')
def hello(request):
return json.dumps({'message': 'hello'})
@dajaxice_register(method='GET')
@dajaxice_register(method='POST', name="more.complex.bye")
def bye(request):
raise Exception("PUMMMM")
return json.dumps({'message': 'bye'})
@dajaxice_register
def lol(request):
return json.dumps({'message': 'lol'})
@dajaxice_register(method='GET')
def get_args(request, foo):
return json.dumps({'message': 'hello get args %s' % foo})
Прогресс:
- Спасибо за вашу помощь в этой теме. Я новичок здесь. Stackoverflow действительно отличное место.
- Теперь я нашел проблему: на моем компьютерном компьютере я использую IE11, но на компьютере моего коллеги он использует IE9. Если он изменится на Chrome, все будет в порядке. Но это все еще смущает меня, как я должен делать с другими людьми, у которых есть только IE9.
Вы должны разместить свой код, так как он, вероятно, содержит некоторую ошибку. – geckon
@ geckon код не мой. Я просто загружаю [проект] (https://codeload.github.com/jorgebastida/django-dajaxice/zip/master) и запускаю пример. Возможно, я могу опубликовать его здесь, но я думаю, что у людей, которые используют dajax, уже есть источник, а также пример. Но, возможно, никогда не пытайтесь запустить сервер на своем собственном компьютере, но получить доступ к нему на другом компьютере с IE9. –
Спасибо. Также важно указать браузер. Также спасибо за улучшение форматирования вашего вопроса. – geckon