PHP和JQuery Post通信错误

时间:2012-05-21 22:09:23

标签: php jquery

好的,所以我尝试了多种解决方案,但似乎没有什么对我有用,(或者我只是太愚蠢了)。

我有这样的jquery代码:

的Jquery:

var current_id = $(this).attr("id");
var dataString = {"id" : current_id};
$.post("popup.php" , {"id" : $(this).attr("id")}, function(msg) { alert(msg);} );

我知道这里几条线路没用,但我尝试了所有选项,

PHP:

$tmp = $_POST['id'];
if($tmp == "kontakt"){
echo '<p>UDANE PRZESŁANIE</p>';}
else{
echo '<p>NIEUDANE PRZESŁANIE</p>';
}

当我点击id = kontakt php返回错误:

 Notice: Undefined index: id in D:\***\popup.php on line 2

但警报发回

<p>UDANE PRZESŁANIE</p>

编辑:

好的,也许我没有说清楚我的问题。我不在乎是否显示php错误,我只是想知道为什么它会出现在第一位。

2 个答案:

答案 0 :(得分:1)

这只是一个PHP警告 - 它基本上是说$ _POST没有名为'id'的索引。

你可以通过多种方式摆脱它......

  1. Austin Allover答案的简短版本:

    if(!isset($ _ POST ['id'))$ tmp ='';

  2. 在脚本或php配置文件中关闭警告,请参阅:http://php.net/manual/en/function.error-reporting.php(查找E_WARNING)

  3. 您可能还想尝试$ .post(“popup.php”,{“id”:“BLAHBLAHBLAH”},function(msg){alert(msg);}); - 以防$(this).attr(“id”)不包含任何内容......

答案 1 :(得分:0)

以这种方式声明$ tmp var:

$tmp = (isset($_POST['id'])) ? $_POST['id'] : "";

或......

if(isset($_POST['id'])) { $tmp = $_POST['id']; } else { $tmp = ""; }

如果你不明白这段代码的作用......

如果设置了post id,则将$ tmp声明为post id,否则将$ tmp设置为“”。这将取消PHP通知。