我有两个文件,一个在PHP中运行计算一次,并将它们存储在javascript中的变量中。第二个文件保存mySQL查询以发送到数据库。如何从第一个文件发送javascript变量,第二个文件也将它们存储为变量。
- 我正在使用.load()函数加载第二个.php文件。因此,它不会刷新并重定向到第二个.php文件。
这可能与ajax有关吗? 如果只能使用ajax,你如何设置它(ajax新手)?
$("#st").click(function()
{
var s = $("#st").val();
var a = $("#AA").val();
var t = ((s*1)*(a*1)+(a*1)*(1/3)).toFixed(2);
var c = (t*95).toFixed(2);
var text = $('#st').children("option:selected").text();
document.getElementById('Tim').innerHTML ='<p>'+ t +' </p>';
document.getElementById('Obj').innerHTML ='<p>'+ text +'</p>';
document.getElementById('Tot').innerHTML ='<p>$'+ c +'</p>';
});
var Customer = <?php echo json_encode($q);?>;
var Dr= <?php echo json_encode($o);?>;
var Pd = <?php echo json_encode($p);?>;
var Qp = <?php echo json_encode($a);?>;
var Qs = <?php echo json_encode($r);?>;
var Cam = <?php
if($Camera==1){
$CameraOutput = "XL";
echo "XL";
}
if($Camera==2){
$CameraOutput = "SL";
echo "SL";
}
?>;
答案 0 :(得分:3)
AJAX是异步JavaScript和XML的首字母缩写。如果你想运行你的第二个php文件而不重定向到它,你可以使用AJAX,因为它将在后台运行你的第二个php文件。使用JQuery的AJAX非常易于使用。
取自http://api.jquery.com/jQuery.ajax/
示例:将一些数据保存到服务器并在完成后通知用户:
$.ajax({
type: "POST",
url: "some.php",
data: { name: "John", location: "Boston" }
}).done(function( msg ) {
alert( "Data Saved: " + msg );
});
答案 1 :(得分:2)
修改:您在评论中提到了您使用jQuery的其他答案,因此我已编辑了以下内容。
这可能与ajax有关吗?
是的,但你可能不想。您可以通过创建表单元素,设置其action
,设置其method
,向其添加字段以及submit
来实现此目的:
var form;
form = $("<form>")
.attr("action", "/path/to/php/file.php")
.attr("method", "POST");
$("<input type=hidden>")
.attr("name", "fieldName1") // I'm assuming hardcoded field names
.val(fieldValue1) // And values coming from variables
.appendTo(form);
$("<input type=hidden>")
.attr("name", "fieldName2")
.val(fieldValue2)
.appendTo(form);
form[0].submit(); // Note the [0], so we're using `submit` on the actual HTMLFormElement
请注意,响应将替换当前窗口。
如果只能使用ajax,你如何设置它(ajax新手)?
那里有成千上万的例子。 :-)这是另一个:
$.ajax({
url: "/path/to/php/file.php",
type: "POST",
data: {"fieldName1": fieldValue1, "fieldName2": fieldValue2},
success: function() {
// Called if the request succeeds
},
error: function() {
// Called if the request succeeds
}
});