我完全不熟悉jquery和AJAX,經過5至6個小時的努力並搜索解決方案後,我尋求幫助。第一次調用函數後,AJAX post函數無法正常工作
<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」頁面正確處理字符串並正確執行其工作。
我面臨的問題是,當我第一次檢查複選框並安裝產品時,它的工作原理絕對好,但是在第一次發佈後「有時會工作,有時會不起作用」。由於新的列表是從飼料中提取的,所以每一篇文章都是完美的,之後我需要再次點擊安裝按鈕才能這樣做。
我在不同的瀏覽器上測試了代碼,但同樣的問題。可能是什麼問題? (我正在測試不是本地主機上的實時主機上的代碼)
我說的一切工作,除了罰款,但未能提交的第二次調用該函數的產品信息。但經過2-3次嘗試後才能安裝產品。 – prototype
@原型 - 嘗試我添加的作品 –