AJAX call not working in jQGrid

I am trying an AJAX call inside the

       beforeSelectRow

event of my grid as :

      beforeSelectRow: function(rowid, e) {

            $.ajax({
                url: "gridedit.jsp",
                dataType: "json",
                async: true,
                cache: false,
                type:"GET",
                data: {
                    before:'row',
                      },
                success: function(data, status)
                {
                    alert(data);
                }
            });
            return true; 
        }

here is my gridedit.jsp :

           <% String b=request.getParameter("before");

if(b.equalsIgnoreCase("row"))
   {
      System.out.println("ROW ROW ROW your boat");
      out.println("bummer");
   } %>

i dont get any error messages. i just want to access the data sent by my gridedit.jsp thats why i was trying to pop up an alert to see whether any data is being passed or not. when i check the apache tomcat logs, the "ROW ROW ROW your boat" string gets printed. However I do not see the alert when i select a row.

please help

thanks

EDIT:

here is what i also tried

    $.ajax({
                url: "gridedit.jsp",

                async: true,
                cache: false,
                type:"GET",
                data: {
                    before:'row',
                      },
                      error: function(msg) { alert(msg); },
                      complete: function (xhr, status) { alert('complete: '+status); }

            });

i get two alerts, the first one says

    [object][object]

and the second one says

    error

can anyone figure out whats going on ?

please help

thanks

Errors;

so here i what i tried

      $.ajax({
                url: "gridedit.jsp",
                //dataType: "json",
                async: true,
                cache: false,
                type:"GET",
                data: {
                    before:'row'
                      },
                      error: function( jqXHR, textStatus, errorThrown ) { alert(jqXHR);
                      alert(textStatus);
                      alert(errorThrown);},
                      complete: function (xhr, status) { 
                          alert('jqXHR:'+xhr);
                          alert('complete: '+status); }

            });

i get the following alerts in order:

jqXHR: [object][object]

testStatus:

      parseerror

errorthrown:

      Unexpected end of input

can anyone please help me in solving this ? my gridedit.jsp does this->

          <%String b=request.getParameter("before");
          System.out.println("b is here !" + b);
                        out.println("HELLO");%>

please help

thanks


Your JSON may not be formatted properly. Try returning a quoted string, such as ""ROW ROW ROW your boat"" .


Try this.

beforeSelectRow: function(rowid, e) {
 $.ajax({
                url: "gridedit.jsp",
                async: true,
                cache: false,
                type:"GET",
                data: {
                    before:'row',
                      },
                success: function(data, status)
                {
                    alert(data);
                }
            });

        }

gridedit.jsp

<% String b=request.getParameter("before");

if(b.equalsIgnoreCase("row"))
   {
      System.out.println("ROW ROW ROW your boat");
      out.println("bummer");
   } %>

Hope this helps Thank you


i figured out what was wrong. my gridedit.jsp had some code at the top which was creating some extra headers. i removed it and now it works fine.

链接地址: http://www.djcxy.com/p/46112.html

上一篇: 受保护的建筑商是否被认为是良好的做法

下一篇: AJAX调用不在jQGrid中工作