使用AJAX将变量javascript传递给PHP

使用AJAX将变量javascript传递给PHP,javascript,php,jquery,json,ajax,Javascript,Php,Jquery,Json,Ajax,我试图使用jqueryajax将单个变量从javascript传递到PHP Javascript: PHP: 我从ajax获得了带有预期值的警报,但在PHP中我得到了以下错误:注意:未定义的索引:第71行的C:\xampp\htdocs\test\tabulka.PHP中的值 当我取消注释数据类型:“json”时,我甚至没有收到来自AJAX的警报。而不是这个 data: ({value : value}), 试着用这个 data: "value="+value, 你根本没有通过“OK”,

我试图使用jqueryajax将单个变量从javascript传递到PHP

Javascript:

PHP:

我从ajax获得了带有预期值的警报,但在PHP中我得到了以下错误:
注意:未定义的索引:第71行的C:\xampp\htdocs\test\tabulka.PHP中的值
当我取消注释
数据类型:“json”
时,我甚至没有收到来自AJAX的警报。

而不是这个

data: ({value : value}),
试着用这个

 data: "value="+value,
你根本没有通过“OK”,但你正在接受它。如果您想将OK也作为参数传递,请尝试此操作

data: "value="+value+"&OK=Somevalue",
那应该行。

而不是这个

data: ({value : value}),
试着用这个

 data: "value="+value,
你根本没有通过“OK”,但你正在接受它。如果您想将OK也作为参数传递,请尝试此操作

data: "value="+value+"&OK=Somevalue",
这应该行。

检查下面的行

var value = $(this).find('td:first').html();
为“value”变量设置一些硬编码值,如下所示

var value='some value';
如果上述方法有效,请检查您使用
$(this.find('td:first').html()指定的值,检查以下行

var value = $(this).find('td:first').html();
为“value”变量设置一些硬编码值,如下所示

var value='some value';
如果上述方法有效,请检查您使用
$(this).find('td:first').html()指定的值

data: {'value' : value}
注意单引号,没有括号

您的PHP:

If(isset($_POST['value'])){
   $val = $_POST['value'];
}
您的JavaScript格式不正确<代码>数据
是一个对象,换句话说就是一个关联数组

PHP代码有不必要的字符串比较。每当对PHP脚本进行post时,您都将使用$\u post数组访问它们

例如,如果您通过AJAX发布此消息

data:{ 'name' : 'jake', 'age' : 1024}
您可以通过以下方式在PHP中访问它们:

  $name = $_POST['name']
    $age = $_POST['age']
此外,在尝试访问post变量之前,最好使用PHP
isset
验证post变量是否存在。这样,如果预期的post数据不存在,则不会出现异常。

您的JavaScript

data: {'value' : value}
注意单引号,没有括号

您的PHP:

If(isset($_POST['value'])){
   $val = $_POST['value'];
}
您的JavaScript格式不正确<代码>数据
是一个对象,换句话说就是一个关联数组

PHP代码有不必要的字符串比较。每当对PHP脚本进行post时,您都将使用$\u post数组访问它们

例如,如果您通过AJAX发布此消息

data:{ 'name' : 'jake', 'age' : 1024}
您可以通过以下方式在PHP中访问它们:

  $name = $_POST['name']
    $age = $_POST['age']

此外,在尝试访问post变量之前,最好使用PHP
isset
验证post变量是否存在。这样,如果预期的post数据不是,您就不会有异常。

@JanMaděra:检查我的更新答案。您可能尝试了
data:“value=“+value,
,但是您可能没有得到错误,而是得到了一个空白响应。但是当您尝试这个
data:({value:value})时,
您得到了一个错误。我说的对吗?我不想只传递值。在这两种情况下我都出现了错误。如果您不想通过“确定”,只需删除此
&&isset($\u POST['OK'])
,然后检查我是否单击了“确定”按钮。我认为这与ajax无关。我对代码进行了一些编辑。但是这没有帮助。是的,这与AJAX无关,但是想想看,您是在
条件下使用它的。如果没有为“OK”传递任何值,它将不会进入
If
的内部。您是否使用了
.htaccess
文件?@JanMaděra:检查我的最新答案。您可能尝试了
data:“value=“+value,
,但是您可能没有得到错误,而是得到了一个空白响应。但是当您尝试这个
data:({value:value})时,
您得到了一个错误。我说的对吗?我不想只传递值。在这两种情况下我都出现了错误。如果您不想通过“确定”,只需删除此
&&isset($\u POST['OK'])
,然后检查我是否单击了“确定”按钮。我认为这与ajax无关。我对代码进行了一些编辑。但是这没有帮助。是的,这与AJAX无关,但是想想看,您是在
条件下使用它的。如果没有为“OK”传递任何值,它将不会进入
If
的内部。您是否使用了
.htaccess
文件?警报打印权限值。错误来自您未与我们共享的PHP代码的其他部分,其中
['value']
用作数组索引。警报打印权限值。错误来自您未与我们共享的PHP代码的其他部分,其中
['value']
被用作数组索引。没有为我更改任何内容。这个问题一定是在别的地方出的。Ajax正确地传递数据,但服务器无法识别“x”索引。没有为我更改任何内容。这个问题一定是在别的地方出的。Ajax正确地传递数据,但服务器无法识别“x”索引。