Since I am really know nothing about ajax, I am not sure if I understand "try changing the return value from the view to a string " the right way. I changed the definition of run_DHM this way
def run_DHM(request): xx = {'ok':true} return(xx) but still the same as before. and how I can check if there is any error in JavaScript console in my browser ? On 12月15日, 上午8时57分, Brett Epps <brett.e...@quest.com> wrote: > I think the problem might be that you're using the getJSON function, which > expects a JSON response, but your view returns 'OK', which is not valid > JSON. The callback you have given to getJSON only gets called on "success" > (meaning a JSON document was retrieved) - that's why nothing is happening > for you right now. Try changing the return value from the view to a string > containing: > > {"ok": true} > > And then change this line in the JavaScript: > > if (data == 'OK') { > > to: > > if (data.ok) { > > I think it should work with those changes. If it doesn't, try checking the > JavaScript console in your browser for any errors. > > Brett > > On 12/14/11 4:03 PM, "yun li" <yli0...@gmail.com> wrote: > > > > > > > > >But it still cannot work. when I submit something, it goes to the > >please_wait page showing "please wait" and then nothing happened. I > >really have no knowledge on ajax, so is there something I need to > >install or import in my projects? and how can I test if codes in > ><script> ...</script> really invoked? > > >Thanks, > > >On 12月14日, 下午1时47分, Brett Epps <brett.e...@quest.com> wrote: > >> I think the problem is that your <script> tag is incorrect. You're using > >> the same one to load jQuery and to add your code, so your JavaScript is > >> not getting run. The file "please_wait.html" should look like this: > > >> <!DOCTYPE html> > >> <html> > >> <head> > >> <title>Please wait.</title> > >> <meta charset="utf-8"> > >> <script > >>src="http://code.jquery.com/jquery-1.7.1.min.js"></script> > >> <script> > >> $(function() { > >> $.getJSON('{% url run_DHM %}', function(data) { > >> if (data == 'OK') { > >> window.location.href = '{% url displayDHM %}'; > >> } else { > >> alert(data); > >> } > >> }); > >> }); > >> </script> > >> </head> > >> <body> > >> <p>Please wait.</p> > >> </body> > >> </html> > > >> I've also added a bit more to the HTML file so that it is more > >> standards-compliant. > > >> Brett > > >> On 12/14/11 1:23 PM, "yun li" <yli0...@gmail.com> wrote: > > >> >Hi, > >> >Does anyone can help? > >> >Here are all contents in my files, I tried variable ways, but when I > >> >submit a form, it only return the please_wait page and then stay there > >> >forever. There is no redirect happened. > >> >Since I want to check if it works first, there is no actual > >> >calculation in the code. > > >> >######### url.py ################ > >> >urlpatterns = patterns('', > >> > (r'^test$',views.test_form), > >> > (r'^please_wait', views.please_wait), > >> > url(r'^run_DHM$', views.run_DHM, name="run_DHM") , > >> > url(r'^displayDHM', views.display_DHM, name="displayDHM") > >> >) > > >> >########### view.py ############# > >> >def test_form(request): > >> > return render_to_response('test.html') > > >> >def please_wait(request): > >> > return render_to_response('please_wait.html') > > >> >def run_DHM(request): > >> > ### lengthy calculations... ... > >> > return HttpResponse("OK") > > >> >def display_DHM(request): > >> > return render_to_response('display_DHM.html') > > >> >########## test.html ########### > >> >{% extends "baseFrame.html" %} > > >> >{% block maincontent %} > >> > <form method="POST" action="please_wait"> > >> > <p>Test:</p> > >> > <div id="address"></div> > >> > <p>Type your value in here:</p> > >> > <p><textarea name="order" rows="6" cols="50" id="order"></ > >> >textarea></p> > >> > <p><input type="submit" value="submit" id="submit" /></p> > >> > </form> > >> >{% endblock %} > > >> >########### please_wait.html ########## > > >> ><html>Please wait > >> ><script type="text/javascript" src="http://code.jquery.com/ > >> >jquery-1.7.1.min.js"> > >> >$.getJSON('{% url run_DHM %}', function(data) { > >> > if (data == 'OK') { > >> > window.location.href = '{% url displayDHM %}'; > >> > } else { > >> > alert(data); > >> > } > >> > }); > >> ></script> > >> ></html> > > >> >########### display_DHM.html ######### > >> ><HTML> > >> ><BODY>END FINALLY!</BODY> > >> ></HTML> > > >> >-- > >> >You received this message because you are subscribed to the Google > >>Groups > >> >"Django users" group. > >> >To post to this group, send email to django-users@googlegroups.com. > >> >To unsubscribe from this group, send email to > >> >django-users+unsubscr...@googlegroups.com. > >> >For more options, visit this group at > >> >http://groups.google.com/group/django-users?hl=en. > > >-- > >You received this message because you are subscribed to the Google Groups > >"Django users" group. > >To post to this group, send email to django-users@googlegroups.com. > >To unsubscribe from this group, send email to > >django-users+unsubscr...@googlegroups.com. > >For more options, visit this group at > >http://groups.google.com/group/django-users?hl=en. -- You received this message because you are subscribed to the Google Groups "Django users" group. To post to this group, send email to django-users@googlegroups.com. To unsubscribe from this group, send email to django-users+unsubscr...@googlegroups.com. For more options, visit this group at http://groups.google.com/group/django-users?hl=en.