繁体   English   中英

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

[英]Post javascript variables to separate .PHP file (Using 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";
            }
    ?>;

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

编辑 :您在对另一个正在使用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
    }
});

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM