使用AJAX将变量javascript传递给PHP

时间:2016-12-12 18:03:55

标签: javascript php jquery json ajax

我正在尝试使用jQuery AJAX将单个变量从javascript传递给PHP。

使用Javascript:

$(document).ready(function() {
    $('.ok').on('click', function(e){

        var value = 5;

        $.ajax({
            url: 'tabulka.php',
            type: "POST",
            data: {x : value},
            success: function(){
                alert(value);
            }
        });
    });
});

PHP:

if($_SERVER['REQUEST_METHOD']){
    $value = $_POST['x'];
    echo $value;
}

我从ajax获取具有预期值的警报但在PHP中我收到此错误:Notice: Undefined index: value in C:\xampp\htdocs\test\tabulka.php on line 71 当我取消注释dataType: 'json'时,我甚至没有收到来自AJAX的警报。

3 个答案:

答案 0 :(得分:1)

而不是这个

data: ({value : value}),

尝试使用它,

 data: "value="+value,

你并没有完全过去"好的"但是你收到了。如果你想传递OK作为参数试试这个。

data: "value="+value+"&OK=Somevalue",

这应该有效。

答案 1 :(得分:1)

您的JavaScript

data: {'value' : value}

注意单引号而没有括号

你的PHP:

If(isset($_POST['value'])){
   $val = $_POST['value'];
}

您的JavaScript格式不正确。 data是一个对象,换句话说就是一个关联数组。

您的PHP代码有不必要的字符串比较。每当发布一个PHP脚本的帖子时,您将使用$ _POST数组访问它们。

例如,如果您通过AJAX发布此内容

data:{ 'name' : 'jake', 'age' : 1024}

您可以通过

在PHP中访问它们
  $name = $_POST['name']
    $age = $_POST['age']

此外,在尝试访问它们之前,最好使用PHP isset来验证post变量是否存在。这样,如果没有预期的后期数据,你就不会有例外。

答案 2 :(得分:0)

检查以下行

var value = $(this).find('td:first').html();

为'value'变量设置一些硬编码值,如下所示

var value='some value';

如果符合上述条件,请使用$(this).find('td:first').html()

检查您指定的值