jquery ajax pagemethod无效

时间:2011-07-28 06:01:15

标签: html ajax json jquery

我正在使用页面方法来检索登录信息。我的代码如下,

 $.ajax( {
  type: "POST",
  url: Main.url + loginBox.url  ,
  data: '{"jsonrpc": "2.0", "method": "login", "params": {"login": "'+nameVal+'", "pass": "'+passVal+'"'+ ( loginBox.userSaveUdid ? ","id": 1}',
  async: true,
  dataType: "json",
  contentType: "application/json",
  beforeSend: function(){
    alert("-------------------------------------------------------------------------------------loginBox.submit : beforeSend");
    $("#login-error").html();
    Loading.show();
  },
  success: function(data) {

    alert("-------------------------------------------------------------------------------------loginBox.submit : success = ");

    if( data.error ){

      $("#login-error").html(data.error.message)

    }else{

      loginBox.LogInSuccess(nameVal,data.result.user_id,data.result.token)

      /*
      loginBox.userName = nameVal;
      loginBox.userLogged = data.result.user_id;
      loginBox.userToken = data.result.token;
      Limit.getLimit();
      loginBox.hide();
      */
    }


  },
  complete: function(){
    alert("-------------------------------------------------------------------------------------loginBox.submit : complete");
    Loading.hide();
  },
  error: function(XMLHttpRequest, textStatus, errorThrown){
    $("#login-error").html(textStatus)
    alert("-------------------------------------------------------------------------------------loginBox.submit : error " +textStatus);
  }
});

我收到404 Not page found错误。我用firebug检查那些,请求和回复。

这就是我得到的。

  

响应标题视图

通过1.1 BILEETAISA

Connection Keep-Alive

代理连接保持活跃

Content-Length 728

Date Wed,27 Jul 2011 22:17:53 GMT

Content-Type text / html;字符集= UTF-8

服务器Apache / 2.2.3(CentOS)

X-Powered-By Phusion Passenger(mod_rails / mod_rack)3.0.7

X-Runtime 0.004490

状态404

请求标题视图

主持人xxxx.tv

User-Agent Mozilla / 5.0(Windows NT 5.1; rv:5.0.1)Gecko / 20100101 Firefox / 5.0.1

接受text / html,application / xhtml + xml,application / xml; q = 0.9, / ; q = 0.8

Accept-Language en-us,en; q = 0.5

接受编码gzip,deflate

Accept-Charset ISO-8859-1,utf-8; q = 0.7,*; q = 0.7

代理连接保持活动

Origin null

Access-Control-Request-Me ... POST

Access-Control-Request-He ... content-type

Pragma no-cache

缓存控制无缓存

有人能告诉我哪里出错了。它应该是请求头中的接受字段作为application / json吗?我应该将json库添加到我的项目中吗?只有jquery还不够。如果这是一个愚蠢的问题,请原谅我。我对这些东西比较新。

2 个答案:

答案 0 :(得分:0)

使用以下语法:

var pageUrl = '<%=ResolveUrl("~/Home.aspx")%>'
              $.ajax({
                  type: "POST",
                  url: pageUrl + '/UpdateWlcomMessage',
                  data: '{WelcomeText: "' + welocmetext + '"}',
                  contentType: "application/json; charset=utf-8",
                  dataType: "json",
                  success: function (data) {
                  }
              });

答案 1 :(得分:0)

检查您的网址是否正确

url:Main.url + loginBox.url

首先复制您正确的网页网址和方法名称。请检查。

样品是

 var pageUrl = 'Contact.aspx';
        $.ajax({
            url: pageUrl + '/SendMail',
            type: "POST",
            data: '{Name: "' + Name + '",FromEmail: "' + FromEmail + '",Body: "' + Body + '"}',
            dataType: "json",
            contentType: "application/json",
            success: function (data) {
                if (data.d == 1) {
                    $("input[type=button]").val("Send Mail");
                    alert("Mail successfully sent");
                    $('#envelope').css('display', 'none');
                    $('#fade').css('display', 'none');

                }
            }
        });