我的帖子是這樣的:應該發佈到特定的URL;相反,我看到一個GET爲「/」
var $postResults = $.ajax({
url: "product/create/setting",
type: "POST",
async: false,
data: { KEY: "datasource.name." + dsname, CLASS: dsclass, URL: dsurl },
complete : function (xhr, textStatus) {
console.log(xhr.responseText);
return xhr.responseText;
}
});
return $postResults.responseText;
然而,當我監控實際發生的情況,這說明在頭一個GET,以「/」,而不是一個URL 「產品/創建/設置」。
我向同事展示了它,他們說:「看起來提交按鈕正在拒絕你的現實,而代之以自己的提交功能。」
有關如何更好地排除故障的任何想法?
編輯
下面是完整的功能(這是$內(文件)。就緒)
function createEnvironmentPrep() {
$('#createEnvironment').click(function() {
$('div.zForms').html('');
$('<div class="home-panel">' +
'<h2 class="home-panel-header">Create New Environment</h2>' +
'<form id="submitNewEnvironment">' +
'<label class="createlabel" for="envname">Name</label>' +
'<input id="envname" name="envname" type="text" size="25" required /><br />' +
'<label class="createlabel" for="envpath">Path</label>' +
'<input id="envpath" name="envpath" type="text" size="75" /><br />' +
'<input id="envsubmit" name="envsubmit" type="submit" class="submit" />' +
'</form>' +
'</div>' +
'<div id="returnmsg"></div>').appendTo('div.zForms');
$('#envsubmit').click(function(e) {
e.preventDefault();
var $inputs = $('#submitNewEnvironment :input');
var values = {};
$inputs.each(function() {
console.log($(this));
values[this.name] = $(this).val();
});
var reqStatus = createEnvironment(values["envname"], values["envpath"]);
if (reqStatus === "Setting Updated") {
window.location.reload();
} else {
$("#returnmsg")
.text(reqStatus)
.css("display", "block");
return this.revert;
}
});
});
function createEnvironment(envname, envpath) {
var $postResults = $.ajax({
url: "zforms/create/setting",
type: "POST",
async: false,
data: { KEY: "report.environment." + envname, NAME: envname, PATH: envpath },
complete : function (xhr, textStatus) {
console.log(xhr.responseText);
return xhr.responseText;
}
});
return $postResults.responseText;
}
}
從我可以告訴,點擊功能的內部分配爲$( '#envsubmit')在頁面加載時發生,而不是在單擊「創建環境」按鈕並插入HTML時。因此,沒有點擊功能分配給提交按鈕,它的行爲違反了默認行爲。
使用['event.preventDefault()'](http://api.jquery.com/event.preventDefault/)提交處理。 –
我喜歡你的同事 - *拒絕你的現實並代之以自己的*。 –
我使用這段代碼在http://jsfiddle.net/N4psS/2/中創建了一個jsFiddle。它適用於我在Chrome中的正常工作(我獲得了一個POST給定的路徑)。你正在使用哪種瀏覽器? – alnorth29