2012-02-29 9 views
3

私はpost()メソッドで苦労しています。非常に単純なjquery post()(別のページにhtmlを送信しようとしています)

私はここやjqueryフォーラムでいくつかの記事を読んできましたが、単純なコードを作成しようとすると難しいことが分かりました。私の最終目標はdiv #exportDataとそのすべての子をtest.phpに渡すことです。

私が使用を開始:(test.phpをはコンテンツを受信するための保持のdivまたは要素を必要としない限り)これはtest.phpをするために、現在のページのすべての内容を返す必要があります私の心に

$.post("ajax/test.php", $("body").html()); 

。現在は空白のページのみを返します。

私はこれらを操作する必要がある場合、私はその後、post()ためのパラメータを見てみました:

var data = { 
     html: #exportData 
    }; 

もちろん失敗ビット:

$.ajax({ 
     type: 'POST', 
     url: ajax/test.php, 
     data: data, 
     success: success, 
     dataType: dataType 
    }); 

はまた、変数を宣言しました。私はパラメータのデータをどのように定義するのか、これが正しいかどうかはわかりません。

場合、私は思っているだろうが:

$.post("ajax/test.php", $("body").html()); 

は、おそらく私が好きなクラス、IDやセレクタのための「体」を置き換えることができ、その後に働いているだろう。

投稿ボタンには、投稿機能と結びつけるための特定のパラメータが必要です。現時点では純粋です:

<input type="submit" id="submit" value="send" name="submit"> 

ごめんなさい。このような基本的な質問です。あなたは$ .post(の2番目のパラメータとして

var html = $("body").html(); 
var data = { 
     html: html 
    }; 
$.post("ajax/test.php", data); 

を行うことができ

+0

私たちが手助けをするためには、ページ「ajax/test.php」のコードを表示する必要があります。まず、Webフォームを中心に検討する必要があると思います。これは、送信ボタンがどのように機能し、どのようにリンクされているかを理解するのに役立ちます。 – Lazarus

答えて

3

)は、オブジェクトウィッヒは、サーバーに送信したいデータが含まれています。

<input type="submit" id="submit" value="send" name="submit"> 

JS

$('input#submit').click(function(e){ 
    //prevent submitting the form (if there is a form) 
    e.preventDefault(); 
    var html = $("body").html(); 
    var data = { 
      html: html 
     }; 
    $.post("ajax/test.php", data); 
}); 

サーバ側あなたは

$html = $_POST['html'] 
+0

これを動作させることができません:(実際には、現在のページがリロードされ、urlが追加されてtest.phpページが読み込まれた状態で、実際にpreventDefaultアクションを無効にしました:?submit = – lharby

0

$.post()は、オブジェクトがの送迎データに渡されることを想定していたデータを受け取る:あなたが行うことができ、データを送信するために

投稿のリクエストとともに:

jQuery.post(URL [データ] [成功(データ、textStatus、jqXHR)] [、のdataType])

URL:要求である URLを含む文字列れます送信されます。
data:リクエストとともにサーバーに送信されるマップまたは文字列。
成功(data、textStatus、jqXHR):要求が成功した場合に実行されるコールバック関数。
dataType:サーバーから予想されるデータの種類。デフォルト:Intelligent Guess(xml、json、script、text、html)。ポストにHTMLを送信

var content = $ ('body').html(), 
    data = { content: content }; 

$.post('ajax/test.php', data); 
+0

"データ:リクエストでサーバーに送信されたマップ**または文字列**"は、文字列が正常に動作することを示しているようですが、 –

+0

全身送信=コンセプトが動作することを証明する、idを持つdivを送ることは、ページのより小さいサブセットとなるだろう。しかし、それでもまだ多くの文字がある可能性がある。 – lharby

+0

私はページ全体のHTMLを送信することも悪い考えもしていると思っていますが、OPの理由は分かりませんが、技術的に可能です。 –

0

は良いアイデアのような音はありません。 inputまたはselectのすべての要素タイプは、HTMLで空になります。値を取得するには、.serializeを使用する必要があります。

+0

この段階ではデータにフォーム要素はありません私はページに、単にhtmlを渡そうとしていますが、私が避けたい文字が変更されていることを読んでいます。 – lharby

関連する問題