我有一些代码调用名为/ partner / settings的后端方法来执行以下两项任务之一:
我遇到的问题是当我调用那个应该导致GET操作的jQuery.load()时,它会提交一个POST。我没有将任何POST数据传递给load()方法。实际上,第一次调用它时会按预期使用GET。它是在下次使用POST时调用的。
我通过将.load()更改为.get()来解决这个问题。它以某种方式仍然进行了POST(我的调试代码告诉我它确实调用了.get()方法,但我的Chrome网络选项卡将其记录为POST)
感谢您提供的任何帮助。
$(document).ready(function() {
showPartnerSettings = function(e) {
window.gEnvPath = envPath;
e.preventDefault();
console.log(e);
var post = (e.type == "click") ? false : true;
if($("#partner-settings-form").length == 0) {
var $dialogForm = $("<div />");
console.log('new dialog');
} else {
var $dialogForm = $("#partner-settings-form").unbind("submit");
console.log('existing dialog');
}
$dialogForm.attr("id", "partner-settings-form")
.append($loading.clone());
if(e.type == "submit") { . . . }
else //load new dialog form content
{
var partnerId = e.data.partnerId;
$dialogForm.load(window.gEnvPath + "/partner/settingsdialog?partnerid="+partnerId, function(){
$("#partner-settings-form").css("display", "block");
console.log($dialogForm);
$dialogForm.dialog({
title: "Partner Settings",
modal: false,
resizable: false,
width: 580, //CPB 04.11.13
position:['middle',130],
dialogClass: "partner-settings-class",
create: function() {
$("#add_postage").on("click", function(e){ . . . })
},
close : function(){
var dialogid=$(this).parent("div").attr("id");
$("#Tabs ul li."+dialogid).remove();
$(this).remove();
$("#alertmod").remove();
//$link.removeClass('preventclick');
}
})
.dialog("open")
.css("display", "block");
$(document).on("submit", ".sign_in_form", function(event) {
event.preventDefault();
return showPartnerSettings(event);
});
return false;
});
}
return false;
};