2011-08-21 117 views
1

我有一個網頁從另一個頁面重定向,並在其中包含查詢字符串。現在這個頁面正在調用一個Jquery AJAX調用來完成其他一些任務。如何使用查詢字符串URL調用JQuery Ajax Post

頁的URL是這樣的:http://localhost:1041/Inventory/Inventorydetail.aspx?invoiceid=3

現在這個頁面調用AJAX後從網格刪除記錄。

  $(".DeleteInvoiceLine").click(function() { 
      //Get the Id of the record 
      var record_id = $(this).attr("id"); 
      var loc = window.location; 
      // Ask user's confirmation 
      if (confirm("Do you want to delete this record?")) { 
       $.ajax({ 
        type: "POST", 
        url: loc + "/DeleteInvoiceLineEntry", 
        //Pass the selected record id 
        data: "{'args': '" + record_id + "'}", 
        contentType: "application/json; charset=utf-8", 
        dataType: "json", 
        success: function(msgstr) { 
         var msg = $("#ctl00_ContentPlaceHolder1_success"); 
         msg.html(msgstr.d); 
         msg.show(); 

        } 
       }); 
      } 
      return false; 
     }); 

所以當我叫AJAX調用Page_Load事件被調用,而不是將WebMethod「DeleteInvoiceLineEntry」。

如果我有我的網頁沒有查詢字符串傳遞它工作正常。

可以請你給我建議我怎麼可以在具有查詢字符串數據init的頁面上調用AJAX調用。

我嘗試了兩種方式傳遞靜態URL 不工作 網址: 「Inventorydetail.aspx invoiceid = 3/DeleteInvoiceLineEntry?」

工作(如果在頁面中沒有查詢字符串數據)

url:「Inventorydetail.aspx/DeleteInvoiceLineEntry」

感謝您的快速幫助。

回答

0

當您調用ajax時,不要附加查詢字符串。它會混淆通信,因爲ajax實際上使用查詢字符串來傳遞json數據。如果您想將invoiceid傳遞給ajax,請將其包含在json數據中。

+0

Sheen,這裏有兩件事。一個是InvoiceID,另一個是InvoiceLineID。InvoiceID從另一個頁面傳遞到查詢字符串中以填充網格中的invoiceData,並且當用戶從網格中刪除行(InvoiceLine)時,InvoiceLineId在Ajax調用中的JSON數據中傳遞。所以我的問題是在這裏,如果頁面已經有查詢字符串,我可以調用ajax文章。 – Rajesh

0

變化

var loc = window.location; 

var loc = window.location.href.replace(window.location.search, ''); 

爲TAESUNG信中提到。 URL中的查詢字符串混淆了您的應用程序。

相關問題