Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/279.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/85.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
jQuery ajax不工作,获取关于未定义变量的php错误_Php_Jquery_Ajax - Fatal编程技术网

jQuery ajax不工作,获取关于未定义变量的php错误

jQuery ajax不工作,获取关于未定义变量的php错误,php,jquery,ajax,Php,Jquery,Ajax,我在这个问题上被难住了。我试图通过ajax简单地发布一个变量。下面是我的javascript/jquery代码的内容 var name = "Bob"; $(".save").click(function(){ $.ajax({ type: "POST", url: "ajax.php", data: {fname:name} }).done(function( msg

我在这个问题上被难住了。我试图通过ajax简单地发布一个变量。下面是我的javascript/jquery代码的内容

var name = "Bob";

$(".save").click(function(){

         $.ajax({
             type: "POST",
             url: "ajax.php",
             data: {fname:name}
             }).done(function( msg ) {
             alert( "Data: " + msg );
         });

 });
这是我的ajax.php文件:

<?php
$data = $_POST['fname'];
?>

问题是我总是在php错误日志中看到这个错误

[15-Aug-2013 11:05:26]PHP通知:未定义索引:第2行/Applications/MAMP/htdocs/Project/ajax.PHP中的fname


我做错了什么?

您的代码绝对正确。也许你的问题来自.htaccess,它进行了重定向 当您访问php文件时。你应该仔细检查一下。

您是否尝试过
var\u dump
您的
$\u帖子
?使用Firebug之类的工具,并回显您的$\u帖子。使用Firebug,您可以看到得到的响应。但我同意张孝的观点。听起来您的帖子设置不正确。使用Firebug,我可以看到ajax.php上的状态为“302 Found”,如果单击“帖子”选项卡,我可以看到其中的正确数据。但仍然会出现未定义的索引错误。奇怪。“ajax.php上的状态是'302 Found'”——所以是重定向。这真的是你想要的吗?在PHP脚本处理POST数据之后,您自己是否从PHP脚本进行重定向?(由于浏览器将通过get请求新的URL,因此在302重定向时,POST数据将丢失。)阅读302响应,检查新位置,并在您的ajax调用中使用它,可能是它重定向到相同的URL,但格式不同,如删除www或添加斜线,请检查