繁体   English   中英

Ajax不发布到PHP onclick

[英]ajax not posting to php onclick

           $(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之后,product部分会淡出,然后淡出所有正确的信息,但是php无法读取发布数据,请注意,要使click功能正常工作,我必须将此脚本放在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)您不会在任何地方使用AJAX调用的响应。 success需要一个提供呼叫响应的参数,但您永远不会使用它。

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

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

除了这两点之外,您还可以使用XHR调试器(例如Chrome的内置工具或Firebug)来查看服务器实际发送/接收的内容吗?

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM