已更新!
之后的代码
$.get(url, { id: id, action: action }, function(data) {
不开火?完整的方法如下。
function modifyPermit(id, action) {
var url = "ajax/permit_modify.aspx";
$.get(url, { id: id, action: action }, function(data) {
if (data == "SUCCESS") {
// Update page
$.get("ajax/permit_getall.aspx", function (data) {
$("#ctl00_ContentPlaceHolder1_permitList").html(data);
}).error(function(err) {
alert(err);
});
} else {
alert(data);
}
});
}
使用.Net。
此致
罗伯特
答案 0 :(得分:2)
您似乎在此处使用了错误的变量(您定义了url_mod
但在您的AJAX请求中使用了url
):
var url_mod = "ajax/permit_modify.aspx?id=" + id + "&action=" + action;
$.get(url, function(data) {
应该成为:
var url = "ajax/permit_modify.aspx?id=" + id + "&action=" + action;
$.get(url, function(data) {
此外,我不建议您为每个参数调用encodeURIComponent
函数(这是您在第二个AJAX请求中忘记的方式),我建议您使用以下结构:
var url = 'ajax/permit_modify.aspx';
$.get(url, { id: id, action: action }, function(data) {
这样jQuery将负责生成正确编码的url。您的第一个AJAX请求中可以应用相同的概念。请注意如何将第二个参数传递给jQuery将用于构造正确URL的$.get
函数键/值对。
更新:
在与OP进行离线聊天后,发现问题与他的问题中显示的AJAX代码无关,而是与他调用modifyPermit
函数的方式有关。它位于按钮的onclick
处理程序内,不返回false。这反过来触发了对服务器的完整回发,没有时间让AJAX请求执行。正确的解决方案是返回false以防止按钮的默认操作:
onclick="modifyPermit(1,'a'); return false;"
答案 1 :(得分:0)
@darin找到的修复程序很简单:只需添加return false;方法调用按钮后。
modifyPermit(1,'a'); return false;
非常感谢Darin帮助我解决这个问题的所有时间和精力。没有你,不能没有它!
/鲍勃