2011-07-28 50 views
0

我正在使用頁面方法檢索登錄信息。我的代碼如下,jquery ajax pagemethod無法正常工作

$.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未找到頁面錯誤。我用螢火蟲來檢查這些和請求和響應。

這就是我得到的。

響應Headersview

通過1.1 BILEETAISA

連接保持

代理連接保持

內容長度728

日期星期三, 27 Jul 2011 22:17:53 GMT

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

服務器的Apache/2.2.3(CentOS的)

X供電-通過的Phusion客運(mod_rails/mod_rack)3.0.7

X-運行時0.004490

狀態404

請求Headersview

主機xxxx.tv

用戶代理Mozilla/5.0(Windows NT 5.1; RV:5.0.1)壁虎/ 20100101火狐/ 5.0.1

接受的text/html,應用/ XHTML + xml的,應用/ XML; Q = 0.9,/; Q = 0.8

接受 - 語言EN-US,EN; q = 0.5

接受編碼gzip的,放氣

接收字符集ISO-8859-1,UTF-8,q = 0.7,*; q = 0.7

代理連接保持活動

地空

訪問控制請求,我... POST

訪問控制請求,他......內容類型

語用無緩存

的cache Control no-cache

有人可以告訴我哪裏是故障。它應該是接受應用程序/ json請求頭中的字段嗎?我是否應該將json庫添加到我的項目中?僅僅使用jQuery是不夠的。如果這是愚蠢的問題,請原諒我。我更喜歡這些東西。

回答

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) { 
        } 
       }); 
+0

感謝您的答覆。我嘗試了它作爲pageUrl ='<%= ResolveUrl(「〜/ xxx.tv」)%>但我得到異常...「訪問受限制的URI被拒絕」代碼:「1012」nsresult:「0x805303f4(NS_ERROR_DOM_BAD_URI)」location :「file:.../javascript/jquery.js Line:7869」]。順便說一句,我沒有使用asp.net或類似的東西。只有javascript和html。你有什麼想法。 – chAmi

0

檢查網址是否正確

網址:Main.url + loginBox.url

首頁複印過去你正確的頁面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'); 

       } 
      } 
     });