将javascript变量传递到另一个php页面

时间:2015-07-18 03:59:32

标签: javascript php ajax

我有一个选择列表,在使用javascript我得到所选值我希望这个选定的值通过php文件init.php,以便我可以在mysql查询中使用这些变量。 我的javascript代码如下:

                  $(document).ready(function(){ 

                 var e = document.getElementById("product");
                  var pro = e.options[e.selectedIndex].text;
                  alert(pro);

                 });

                 $('select').change(function(){ 
                  var e = document.getElementById("city");
                  var cit = e.options[e.selectedIndex].text;
                  alert(cit);

我使用ajax将变量发送到init.php。我的下面的ajax代码无效,任何人都可以告诉我们这段代码中的问题:

                       $.ajax({
                         url: 'init.php',
                         type: 'POST',
                         data: { x:'cit',y:'pro' },
                         success: function(data) {
                           console.log(data);

                              }
                            });

在init.php中我写了:

<?php
$var1 = $_POST['y'];
$var2 = $_POST['x'];
$result = "Select amount from ". _DB_PREFIX_ ."demo_detail where product =    '". $var1 ."' and city = '" . $var2 . "' ";
//echo json_encode($result);

5 个答案:

答案 0 :(得分:0)

您可以更改url行以包含/以确保您相对于目录的根目录引用init.php吗?

所以看起来应该是这样的:

$.ajax({
   url: '/init.php',
   type: 'POST',
   data: { x:'cit',y:'pro' },
   success: function(data) {
     console.log(data);

       }
   });

我不能确切地说出来,但是AJAX可能会向错误的网址发出POST请求。

答案 1 :(得分:0)

您是否尝试在网址中传递绝对路径和相对路径。我的意思是 你尝试过使用:

url:'localhost:xxxx/myapp/init.php'

url:'/init.php'

答案 2 :(得分:0)

如果您将变量传递到Ajax中的data参数,则不必使用引号。

$.ajax({
        url: 'init.php',
        type: 'POST',
        data: { x: cit, y: pro },
        success: function(data) {
             console.log(data);
        }
 });

答案 3 :(得分:0)

使用查询字符串。 HTML5的会话存储也可以为您提供帮助。

答案 4 :(得分:0)

尝试用以下内容替换脚本代码,看看它是否有所作为

$(document).ready(function(){ 
    $('select').change(function(){
        var e = document.getElementById("product");
        var pro = e.options[e.selectedIndex].text;
        alert(pro);

        var e = document.getElementById("city");
        var cit = e.options[e.selectedIndex].text;
        alert(cit);

        $.ajax({
            type: 'POST',
            url: 'init.php',
            data: { x:'cit',y:'pro' },
            success: function(data) {
            console.log(data);
            }
        });
    });     
});