受け取ったコンテンツが次の場合:
<script type="text/javascript">
$(document).ready(
function() {
alert("My alert")
});
</script>
Html を受信せず、コンテンツがターゲット要素の にdiv
渡される前に取り除かれたスクリプト コンテンツのみを受信したため、あなたは空です。.html()
スクリプト コンテンツが div でレンダリングされることを期待していましたか、それともリクエスト#alert-container
中にスクリプトが実行されることを期待していましたか?.load()
編集
AJAX リクエストで実行されるいくつかの php に基づいて、アラートを条件付きでポップアップさせる良い方法は何ですか?
load()
http://api.jquery.com/load/によると、コールバックを使用して戻り値をアサートし、呼び出しが成功した場合にアラートをポップアップ表示できるようです。成功のコールバックは、返された html がターゲット要素にレンダリングされた後に実行されます。
$('#alert-container').load("post-bid.php", data, function(responseText, textStatus, XMLHttpRequest){
// textStatus = 'success' if the call was successful.
if(textStatus == 'success'){
alert("My alert");
}
});
さらに、ドキュメントの下部を見ると、エラーを処理する方法の例もあります。
編集
AJAX リクエストが成功したときにアラートがポップアップしないようにします。AJAX によって要求されたいくつかの php コードが実行された後にアラートがポップアップするようにします。アラートを発生させたいのは、load()関数からではなく、このphpコードからです
その場合は、デザインを再検討します。あなたのphpは表示するメッセージだけを返し、呼び出し元のコードがそれを表示することを心配させるべきhow
です。
そのためにajax 投稿を使用できます。
$.post('post-bid.php', data, function(message){
if(message.length > 0)
{
alert(message);
}
});