$ .getJSON не работает внутри $ ('#') .click (function () - PullRequest
1 голос
/ 07 октября 2011

я новичок в jquery. Я делаю ajax, используя jquery в django.

$(document).ready(function() {
     $.getJSON('/jsonserver/', function(json){
    alert("JSON Data: " + json);
    });

Вышеупомянутый jquery работал для меня.Когда я вставляю ту же кнопку в функцию click, она успешно вызывает URL, но предупреждение не отображается.

   $(document).ready(function() {
          $('#save').click(function(){          
           $.getJSON('/jsonserver/', function(json){
            alert("JSON Data: " + json);
                });

          });   
    });
<form method ="POST" method =/jqueryserver/ name ="form1" id ="form1">
    <input type= "submit" id = "save" name ="save" value ="Save" />
</form>

view.py

def jsonserver(request):
    print "...jsonserver..."
    json = simplejson.dumps('hello world!')
    return HttpResponse(json, mimetype = 'application/json')

1 Ответ

10 голосов
/ 07 октября 2011

Поскольку $("#save") - кнопка отправки, нажатие этой кнопки приведет к отправке формы и обновлению страницы.

То, что вы хотите сделать, это «взломать» это, предотвращая запуск событий по умолчанию в браузере.

Это можно сделать так:

$('#save').click(function(e) {
   e.preventDefault();
   $.getJSON('/jsonserver/', function(json){
      alert("JSON Data: " + json);
   });
});
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...