我有一个从另一个页面重定向的网页,其中有一个查询字符串。现在这个页面正在调用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”
感谢您的快速帮助。
答案 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中的查询字符串会使您的应用程序混乱。