[英]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.