我对 jquery 和 AJAX 完全陌生,在努力了 5-6 个小时并搜索了我正在寻求帮助的解决方案之后。
<script type="text/javascript" src="https://ajax.googleapis.com/ajax/libs/jquery/1.5.0jquery.min.js"></script>
<script type="text/javascript">
$(function() {
$(".submit").live('click',(function() {
var data = $("this").serialize();
var arr = $("input[name='productinfo[]']:checked").map(function() {
return this.value;
}).get();
if(arr=='')
{
$('.success').hide();
$('.error').show();
}
else
{
$.ajax({
data: $.post('install_product.php', {productvars: arr}),
type: "POST",
success: function(){
$(".productinfo").attr('checked', false);
$('.success').show();
$('.error').hide();
}
});
}
return false;
}));
});
</script>
而 HTML+PHP 代码是,
$json = file_get_contents(feed address);
$products = json_decode($json);
foreach(products as product){
// define various $productvars as a string
<input type="checkbox" class="productvars" name="productinfo[]" value="<?php echo $productvars; ?>" />
}
<input type="submit" class="submit" value="Install Product" />
<span class="error" style="display:none"><font color="red">No product selected.</font></span>
<span class="success" style="display:none"><font color="green">product successfully added to database.</font></span>
当我从提要中提取产品信息时,我不想刷新页面,这就是我使用 AJAX 发布方法的原因。使用上面的代码“install_product.php”页面可以正确处理字符串并正确完成其工作。
我面临的问题是,当我第一次选中复选框并安装产品时,它工作得非常好,但在第一次发布“有时它工作,有时它不起作用”之后。由于从提要中提取了新列表,因此每个第一篇文章都是完美的,之后我需要一次又一次地单击安装按钮才能这样做。
我在不同的浏览器上测试了代码,但同样的问题。可能是什么问题?(我在实时主机而不是本地主机上测试代码)