2011-07-04 17 views
1

私は、データベースに保存されているスクリプトタグ、CSSなどを含むhtmlから/ htmlまでのHTMLページ全体を持っています。私は、データベース内の行のIDに基づいてPHPスクリプトから変数を取得するためにjqueryを使用しています別のWebサイト。 これは完全に機能しますが、BODYタグとHEADタグは削除されます。残りのHTMLはそのままです。誰かがこれについていくつかの光を当てることができますか?ここ は私のコードです:jqueryでhtmlページを表示

<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.6.2/jquery.min.js"></script> 
<script type="text/javascript"> 
$(document).ready(function() { 
    function getListing(postid){ 
      $.ajax({ 
       type: "POST", 
       url: "http://my-website.com/url.php", 
       data: postid, 
       dataType: "html", 
       cache: false, 
       success: function(html) { 
        $("html").html(html); 
       } 
      }); 
     } 
    getListing("postid=6943"); 
}); 
</script> 

とPHPはかなり基本的なものです:

<?php header("Access-Control-Allow-Origin: *");?> 
<? if($_POST['postid']) { 
$postid = $_POST['postid']; 
// get html into a variable here *(code romved)* 
echo $html; 
} 
?> 
+8

あなたはAJAXのポイントを見逃しているかもしれないと思います...なぜあなたはHTMLコンテンツ全体を置き換えていますか?交換する必要があるビットを置き換えるだけではどうですか? – lonesomeday

+0

この関連する質問はあなたの役に立つかもしれません:http://stackoverflow.com/questions/1236360/replace-the-entire-html-node-using-jquery – Treborbob

+0

達成しようとしていることは何ですか? HTMLページ全体を表示したい場合は、URLでアクセスしてみてはいかがですか? –

答えて

1

理由だけではなく、<form>を使用して、それを投稿しませんか?ずっと簡単、それはすでにかなり基本的なブラウザ機能です:

$(function() { 
    $('body').append($('<form/>', { 
    id: 'newForm', 
    action: "http://my-website.com/url.php", 
    method: "POST" 
    }).append($('<input/>', { name: 'postid' value: '6943' }))); 
    $('#newForm').submit(); 
}); 

フォームを投稿すると、サーバーがHTMLページで応答すると、ブラウザが古いページの上にそれをロードします。

関連する問題