发布javascript变量来分隔.PHP文件(使用Ajax?)

时间:2013-07-17 17:26:33

标签: php javascript jquery mysql ajax

我有两个文件,一个在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";
            }
    ?>;

2 个答案:

答案 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
    }
});