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.

Reply via email to