知道为什么这不起作用?我试图看看点击的按钮是否真的适用于警报,是否有警报以及ajax代码之前和之后它们都有效。
var selectedCheckboxes = "12421";
jQuery(document).ready(function($){
$(".editArticle").on("click",function(){
$.ajax({
url: "test.php",
type: "POST",
data: { selectedCheckboxes: "selectedCheckboxes" },
success: function(response){
//do action
},
error: function(){
// do action
}
});
});
});
链接:
<a href="test.php" class="editArticle">Edit</a>
test.php的
<?php
echo $_POST["selectedCheckboxes"];
?>
答案 0 :(得分:2)
请改为尝试:
<a href="javascript:void(0);" class="editArticle">Edit</a>
如果你想在你的页面输出php,你必须在你的javascsript中做这样的事情
$(".editArticle").on("click",function(){
$.ajax({
url: "test.php",
type: "POST",
data: { selectedCheckboxes: selectedCheckboxes },
success: function(response){
$("body").html(response);
},
error: function(){
// do action
}
});
});
您可能需要更改“body”标签..或不 取决于teste.php返回的内容
好吧,如果您不希望将输出放在当前页面html中,可能会有更好的方法。 也许有更好的答案,但你可以尝试类似的东西:
<form method="post" action="test.php" onsubmit="javascript:$('#selectedCheckboxes').val(selectedCheckboxes);">
<input type="hidden" value="" name="selectedCheckboxes" id="selectedCheckboxes">
<input type="submit" value="Edit">
</form>
您必须设置提交输入的样式 这个想法有帮助吗?不过没有ajax。
答案 1 :(得分:0)
您没有看到AJAX请求的原因是因为当您单击锚标记时,浏览器正在执行导航到'test.php'的默认操作,这将取消AJAX调用。由于你只是简单地获取该页面而不是POST,因此$_POST
中没有任何内容。为了防止此默认操作,请使用span
而不是a
标记(推荐),或阻止默认操作,执行以下操作:
<a href="#" class="editArticle">Edit</a>
答案 2 :(得分:0)
如果我说得对,您希望将 selectedCheckboxes 作为JSON传递给服务器。在这种情况下,您需要将 selectedCheckboxes 变量实际传递给服务器。 像这样:
$.ajax({
url: "test.php",
type: "POST",
data: selectedCheckboxes,
success: function(response){
//do action
},
error: function(){
// do action
}
});
您的代码的问题在于您传递了一个新的JSONObject,其中包含一个包含&#34; selectedCheckboxes&#34;的字符串。你没有传递实际变量。
答案 3 :(得分:-1)
您尝试传递变量selectedCheckboxes
但不幸的是,您使用双重(“”)引号将字符串作为 selectedCheckboxes
使用以下代码
var selectedCheckboxes = "12421";
var dataObject = {};
data[selectedCheckboxes] = 1;
jQuery(document).ready(function($){
$(".editArticle").on("click",function(){
$.ajax({
url: "test.php",
type: "POST",
data: dataObject ,
success: function(response){
//do action
},
error: function(){
// do action
}
});
});
});
希望这会有所帮助......
答案 4 :(得分:-1)
返回false;在ajax调用之后