2012-03-13 14 views
0

Zendからは、POSTデータをフォームではなく、自分のビューの代わりに別のページに送信する最も簡単な方法を知りたいと思います。ありがとう:)Zend Frameworkのリンク経由で投稿データを送信する最も単純な例

+1

'Zend_Http_Client' - http://framework.zend.com/manual/en/zend.http.client.advanced.html#zend.http.client.raw_post_data – scibuff

+0

しかし、私たちはそれをどのように実装するでしょうかいくつかのリンクを介してデータですか? –

+0

自分のサイトやネット上の他のサイトにPOSTしようとしていますか?リンクを投稿することはできません(JavaScriptを使用するか、リンクがサーバー上で何かを行わない限り)。それで、どのデータが掲載されるのか、それはどこから来るのでしょうか?私自身のサイトに – drew010

答えて

0

POSTデータをリンク経由で送信することはできません。少なくとも通常のリンクを経由しないでください。リンクはGETデータのみを運ぶことができます。

リンクを介してPOSTを送信する必要がある場合は、設計上の欠陥が最も確実です。

あなたがそれを必要としていると確信しているなら、using jQueryとonclickイベントを行うことができます。それはjavascriptなしでそれをすることはできません。他のオプションは、JavaScriptを使わなくても動作する、単一の送信ボタンが表示された非表示フィールドのフォームを使用して送信することです。

0

HTMLの通常のハイパーリンクは、GET要求とともに送信され、アクセスされているリソースの状態を変更するものではありません。これはidempotentとして知られています。リクエストを何度も繰り返してもかまいません。同じURLへの各リクエストの結果は、最初のものと同じです。

POSTリクエストには、この制限はありませんし、ユーザーが何かを変更する必要があるときのために意図されている(たとえば、新しいリソースの作成などを。)

これは、通常のHTMLリンクを介してPOSTリクエストを送信することはできません。そして、たとえ道を見つけたとしても、ウェブユーザーにはほとんど普遍的な期待が払われています。あなたは何を達成しようとしていますか?多分もっと良い方法があります。

しかし、あなたの質問に答えるために、あなたは「クリック」イベントをキャプチャし、それがPOSTリクエスト間に合わせるためにjQueryのようなものを使用することができます?」あなたのURLは、任意のクエリパラメータ、すなわちを持って

$('.my-link').click(function() { 
    var url = $(this).attr('href'); 
    var data = {}; 
    $.post(url, data, function() { 
     window.alert('success!'); 
    }); 
    return false; 
}); 

場合をFOO = bar & baz = bum "の場合、おそらくURLからそれらを取り除き、第2パラメータとして$.post() functionに渡す必要があります。これは読者のための練習として残されています。 ;-)

関連する問題