0

次のようなスクリプトがあります。

<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>

ここで、削除リンクをクリックすると、発行者のIDを取得してDBから削除するphpスクリプトに投稿/取得する必要があります(リスナースクリプトで$_REQUESTを使用しているため)....しかし、問題は、スクリプトを削除するために実際にIDが送信されていないようで、すべてを試しました....

onclick="DeletePublisher('152')" のようにソース コードに表示され、アラートや情報などのプロンプトが表示されますが、ID を送信していないようです..... または、リスナー スクリプトを呼び出していない可能性があります (donそれをテストする方法がわからない) :(

ここで何が間違っているのか(または別のアプローチ?)、何かアイデアはありますか?

どうもありがとう !

4

2 に答える 2

1

jQueryを使用する以下のようなAJAXの使用をお勧めします

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();
      }
    });
  });
}
于 2012-09-20T17:04:28.620 に答える
0

あなたがやろうとしているのは JSONP 呼び出しだと思います。私が欠けていると思うのは、応答をJavaScript呼び出し内にラップする必要があるということです。メソッドの名前は、コールバック メソッドと同じにする必要があります。

しかし、スクリプトが同じドメインにあることがわかっているので、JSNOPアプローチを進める必要はないと思います。それでは、単純な ajax 呼び出しを行ってみてください。jquery を試すことができます。ブラウザの互換性を処理します。

于 2012-09-20T17:02:38.123 に答える