ajax没有发布到php onclick

时间:2012-07-10 17:12:36

标签: php jquery ajax

           $(function(){
                $(".product-item").click(function(){
                    var sku = $(this).attr("name");
                    var dataString = "sku="+sku;
                    $.ajax({
                        type: "POST",
                        url: "data.php",
                        data: dataString,
                        dataType: 'html',
                        success: function(){
                            $("#product").load("shop4.php #product > *", function(){
                                $("#product").delay(200).fadeOut(400);
                                $("#product").delay(601).fadeIn();
                                $(".img-wrap img").delay(500).fadeIn(300);
                                $(".img-wrap img").delay(300).animate({paddingBottom: "15%"});
                                $(".img-wrap img").hover(function(){
                                    $(this).animate({
                                        paddingTop: "5%", paddingBottom: "25%"
                                    });
                                }, function(){
                                    $(this).animate({
                                        paddingTop: "15%", paddingBottom: "15%"
                                    });
                                });
                            });
                        }
                    });
                });
            }); 

点击product-item后,产品部分淡出,然后淡入所有正确的信息,但php没有读取帖子数据,需要注意的是要让点击功能正常工作我必须放置这个div id产品后的脚本。

php很简单(这是data.php):

<?php
global $sku;
if (isset($_POST['sku'])) {
    $sku = $_POST['sku'];
    echo $sku;
}
?>

XHR回应

XHR finished loading: "mysite.com/shop4.php". jquery.min.js:4
f.support.ajax.f.ajaxTransport.send jquery.min.js:4
f.extend.ajax jquery.min.js:4
(anonymous function) shop4.php:238
f.event.dispatch jquery.min.js:3
f.event.add.h.handle.i jquery.min.js:3
XHR finished loading: "mysite.com/shop4.php". jquery.min.js:4
f.support.ajax.f.ajaxTransport.send jquery.min.js:4
f.extend.ajax jquery.min.js:4
f.fn.extend.load jquery.min.js:4
$.ajax.success shop4.php:243
f.Callbacks.o jquery.min.js:2
f.Callbacks.p.fireWith jquery.min.js:2
w jquery.min.js:4
f.support.ajax.f.ajaxTransport.send.d

1 个答案:

答案 0 :(得分:1)

你的代码中有一些奇怪的东西。

1)您不在任何地方使用AJAX调用的响应。 success接受一个参数来提供来自呼叫的响应,但你永远不会使用它。

$.ajax({
    ...
    success: function(resp) {
        // do something with resp object
    }
});

2)你的函数中有一个return false;语句,它将在AJAX调用完成后立即执行(它不会等待)。因此,您的函数将始终立即返回false,不确定这是否是您正在寻找的行为。

除了这两项之外,您是否可以使用Chrome内置或Firebug等XHR调试器,并查看服务器实际发送/接收的内容?