如何使用查询字符串URL调用JQuery Ajax Post

时间:2011-08-21 20:10:46

标签: asp.net jquery

我有一个从另一个页面重定向的网页,其中有一个查询字符串。现在这个页面正在调用Jquery AJAX调用来执行其他任务。

网页网址如下: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 不工作   url:“Inventorydetail.aspx?invoiceid = 3 / DeleteInvoiceLineEntry”

工作(如果页面中没有查询字符串数据)

url:“Inventorydetail.aspx / DeleteInvoiceLineEntry”

感谢您的快速帮助。

2 个答案:

答案 0 :(得分:0)

调用ajax时不要附加查询字符串。它会混淆通信,因为ajax实际上使用查询字符串来传递json数据。如果要将invoiceid传递给ajax,请将其包含在json数据中。

答案 1 :(得分:0)

更改

var loc = window.location;

var loc = window.location.href.replace(window.location.search, '');
Taesung Shin提到过。 URL中的查询字符串会使您的应用程序混乱。