我具有以下单击按钮时调用的功能。该函数最多完成并包括将dataString打印到控制台,但是ajax调用永远不会完成。它只是使用空白的GET查询字符串重定向到同一页面。我已经看了很长时间了,我不知道为什么。如果我遗漏了一些简单的东西,我对此表示歉意,但其他类似的电话确实可以正常工作,而事实并非如此。
$(document).on('click', '#addTreasure_btn', function(){
var itemName = $("#treas_search").val();
var qty = $("#numofitems").val();
var tr_play = $("#play_search").val();
var broken = $("input[id='treasbrok']").is(':checked');
var dataString = "qty="+qty+"&itemName=" + itemName +"&tr_play=" + tr_play+"&broken="+broken+"&playerName="+player;
console.log(dataString);
$.ajax({
type: "POST",
url: "add_treasure.php",
data: dataString,
cache: false
});
});
谢谢您的帮助。
答案 0 :(得分:2)
data: dataString,
success: function(returndata) { console.log(returndata)},
error: function(jxhr) { console.log(jxhr)},
或者执行$ .post:
$(document).on('click', '#addTreasure_btn', function(e) {
e.preventDefault(); // in case you do not have type="button"
var itemName = $("#treas_search").val();
var qty = $("#numofitems").val();
var tr_play = $("#play_search").val();
var broken = $("input[id='treasbrok']").is(':checked');
var dataString = "qty=" + qty + "&itemName=" + itemName + "&tr_play=" + tr_play + "&broken=" + broken + "&playerName=" + player;
console.log(dataString);
$.post("add_treasure.php", datastring, function(result) {
console.log(result)
});
});
答案 1 :(得分:1)
您错过了两件事,首先是成功回调和声明了类型错误的type
变量。
您应该这样做,因为我会告诉您:
$.ajax({
method: "POST", // Use method keyword instead of type.
url: "add_treasure.php",
data: dataString,
cache: false,
success: function(data) { // Declare the success callback.
alert("Something here!");
}
});
如果您想添加更多参数,我建议您遵循以下条件:http://api.jquery.com/jquery.ajax/
希望这会有所帮助!