我有一个这样的脚本:
<script type="text/javascript">
function DeletePublisher(publisherid) {
jConfirm('Are you sure you want to delete this publisher?', 'Delete publisher', function(r) { if (r)
scriptitem = document.createElement('script');
scriptitem.type = 'text/javascript';
scriptitem.src = 'includes/publishers/delete-publisher.php?publisherid=' + publisherid;
scriptitem.id = 'ajax';
document.body.appendChild(scriptitem);
setTimeout('document.body.removeChild(document.getElementById("ajax"))', 500);
$.jGrowl('Publisher deleted');
window.location.reload();
});
}
</script>
我在表格中列出了这样的行:
TD ROWS HERE...
<td class="unpaid-th"><strong><?php echo $publisher_unpaid; ?></strong></td>
<td class="action-th">
<ul class="button-table-head">
<li><div class="button-head edit-icon"><a href="#" class="sweet-tooltip" data-text-tooltip="Edit" data-style-tooltip="tooltip-mini-slick"><span>Edit</span></a></div></li>
<li><div class="button-head delete-icon"><a href="#" class="sweet-tooltip" data-text-tooltip="Delete" data-style-tooltip="tooltip-mini-slick" onclick="DeletePublisher('<?php echo $publisher_id; ?>')"><span>Delete</span></a></div></li>
</ul>
</td>
现在应该发生的是当我点击删除链接时 - 它应该发布/获取(无论是什么 - 因为我在监听器脚本上使用$ _REQUEST)到php脚本,它将获取发布者的ID并从DB中删除它...但问题似乎是没有ID实际发送到删除脚本,我已经尝试了一切....
它在源代码中显示很好,例如onclick =“DeletePublisher('152')”并提示警报,信息等...但似乎它没有发送ID .....或者现在可能不会打电话给听众脚本(不知道如何测试):(
任何想法在这里有什么不对(或者可能是不同的方法?)?
非常感谢!
答案 0 :(得分:1)
我建议使用下面的AJAX,它使用jQuery
function DeletePublisher(publisherid) {
jConfirm('Are you sure you want to delete this publisher?', 'Delete publisher', function(r) { if (r)
$.ajax({
type: "POST", //or GET
url: 'includes/publishers/delete-publisher.php?publisherid=' + publisherid,
data: '',
success: function(response){
$.jGrowl('Publisher deleted');
window.location.reload();
}
});
});
}
答案 1 :(得分:0)
我认为你要做的是JSONP调用。我认为缺少的是响应应该包含在javascript调用中。方法的名称应与回调方法相同。
但我认为你不需要继续使用JSNOP aproach,因为我看到你的脚本在同一个域上。所以尝试做一个简单的ajax调用。你可以尝试jquery。它将兼顾浏览器兼容性。