好的,伙计们,希望你们也能帮我做这个。我对jQuery和AJAX没有太多的了解,可能我遗漏了一些非常简单的东西。我不能传递超过1个变量。我试过几种不同的方法,其中最接近我工作的是this,但即使这样也没用。
jQuery公司
$("#bodymes ul li span[contenteditable=true]").blur(function(){
var weight_id = $(this).attr("id") ;
var weightbody_mes = $(this).text() ;
$.post( "../includes/bodymes_weight.php", { weightbodymes: weightbody_mes })
.done(function( data ) {
$(".weightsuccess").slideDown(200);
$(".weightsuccess").html("Weight Updated successfully");
if ($('.weightsuccess').length > 0) {
window.setTimeout(function(){
$('.weightsuccess').slideUp(200);
}, 4000);
}
// alert( "Data Loaded: " + data);
});
});
所以基本上,如果我运行它,它将工作得非常好,我的PHP脚本将处理它。请注意,当我进入并启用警报并显示加载的数据时,它会显示正确的信息(来自
weightbodymes
的信息),并且我能够更新数据库。但只要我添加另一个变量{ weightbodymes: weightbody_mes, weightid: weight_id }
它就不会显示在警报框中加载的数据(如果我试图显示来自这两个变量的信息,它可以工作,但它只向PHP提交一个变量,即: $weightid = $_POST['weightid'];
$weight = $_POST['weightbodymes'];
if ($insert_stmt = $mysqli->prepare("UPDATE body SET body_weight=? WHERE body_id='$weightid'")) {
$insert_stmt->bind_param('s', $weight);
// Execute the prepared query.
if (! $insert_stmt->execute()) {
header('Location: ../index.php?error=Registration failure: INSERT nwprogram1');
}
}
希望你能告诉我我在哪里犯了错误以及如何改正。
提前谢谢你!
最佳答案
使用JS/JQUERY发布AJAX请求。下面是我所有AJAX调用使用的语法。
var first = 'something';
var second = 'second';
var third = $("#some_input_on_your_page").val();
///////// AJAX //////// AJAX //////////
$.ajax({
type: 'POST',
url: 'page_that_receives_post_variables.php',
data: {first:first, second:second, third:third},
success: function( response ){
alert('yay ajax is done.');
$('#edit_box').html(response);//this is where you populate your response
}//close succss params
});//close ajax
///////// AJAX //////// AJAX //////////
接收post_variables.PHP的PHP页面的代码
<?php
$first = $_POST['first'];
$second = $_POST['second'];
$third = $_POST['third'];
echo 'now do something with the posted items.';
echo $first; //etc...
?>
关于javascript - 如何使用jQuery将多个变量传递给PHP,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/28458307/