我试图使用AJAX发布值,我无法这样做,Watever可能会失败。
$("#displayInfo").hide();
var csrfToken = document.getElementById("csrf").value;
var csrfName = document.getElementById("csrf").getAttribute("name");
var postfrmdata = $('#'+formid).serialize();
var returnData= $.ajax({
url: "ReportsSearchResults",
type: "POST",
data: postfrmdata,
dataType: "json",
beforeSend: function(xhr) {
xhr.setRequestHeader(csrfName, csrfToken);
}
});
returnData.done(function(res) {
alert("Pass"+res);
});
returnData.fail(function(data) {
alert("fail"+data);
});
return false;
请说明没有提交的原因
答案 0 :(得分:0)
你做错了。我认为这是你正在寻找的(未经测试):
//If the form is submitted
$('form').submit(function( e ) {
e.prevenDefault();
$form = $(this); //Get this form
//Post ajax request
$.ajax({
url: $form.attr('action'), //Get action attribute of the form
type: "POST",
data: $form.serialize(), //Serialize the form
dataType: "json",
.done(function() { //or success: function() {
alert( "success" );
})
.fail(function() { //or error: function() {
alert( "error" );
})
.always(function() { //or beforeSend: function() {
alert( "complete" );
});
});
});
并提示:使用Firebug(Firefox插件/扩展程序)来测试后台发生了什么。它很棒。