我有一些问题
我的html:http: //jsfiddle.net/dHdnb/
我的jQuery:
$(".header_nav li a").click(function(){
var href = this.href;
$.ajax({
url: 'dynamic.php',
type: 'POST',
data: { target: href },
success: setTimeout(function(){
$.ajax({
url: 'dynamic.php',
dataType: 'html',
data: { target: href},
success: function(data) {
$(".container").html(data)
}
})
}, 1000)
})
这是我的php代码:
<?php
$target = $_POST["target"];
echo $target;
function home(){
echo $target;
// some command
}
switch($target) {
case "home": home();
break;
// and so on
default;
}
$target = isset($_POST['target']) ? $_POST['target'] : 'default_target_value';
echo $target;
echo "Test ajax";
?>
让我解释一下,如果用户单击这些列表上的按钮,
然后它将目标变量发布到服务器
,服务器将处理请求并
最终启动一个函数,当 ajax 处理成功时,它将加载数据从服务器到容器 div
我的问题是,为什么它给了我这样的错误?
“注意:未定义的索引:第 7 行的 xxx.php 中的目标”
我知道我的 ajax 上的数据一定有问题,
但我不知道我的错误在哪里,
请帮助我 :)
当我用 charles 调试它时,ajax 发送带有文本字符串的数据,就像
我的POST请求原始:
POST /xxx/dynamic.php HTTP/1.1
Host xxx
Content-Length 67
Accept /
Origin http://xxx
X-Requested-With XMLHttpRequest
User-Agent xx Content-Type application/x-www-form-urlencoded; charset=UTF-8
Referer http://xxx.php
Accept-Encoding gzip,deflate,sdch
Accept-Language en-US,en;q=0.8目标=http%3A%2F%2Fxx%2Fxx%2Fhome.php%23product
我的POST响应原始:
HTTP/1.1 200 OK
日期:2013 年 9 月 10 日星期二 09:35:19 GMT
服务器:Apache/2.4.4 (Win32) OpenSSL/0.9.8y PHP/5.4.16
X-Powered-By:PHP/5.4.16
内容-长度:57
内容类型:文本/htmlhttp://xxx.php#productTest ajax
我的GET请求原始:
GET xxx.php HTTP/1.1
主机:xxx
接受:text/html, / ; q=0.01
X-Requested-With: XMLHttpRequest
User-Agent: xx
Referer: http://xxx.php
Accept-Encoding: gzip,deflate,sdch
Accept-Language: en-US,en;q=0.8
我的GET响应原始:
HTTP/1.1 200 OK
日期:2013 年 9 月 10 日星期二 09:45:43 GMT
服务器:Apache/2.4.4 (Win32) OpenSSL/0.9.8y PHP/5.4.16
X-Powered-By:PHP/5.4.16
内容-长度:152
内容类型:文本/html注意:未定义的索引:第2行的dynamic.php中的目标 测试 ajax