2017-05-23 8 views
-1

JavascriptまたはJQueryを使用してアンカータグをクリックして発信HTTPリクエストにパラメータを追加する方法はありますか?ハイパーリンクリクエストでHTTPリクエストボディパラメータを設定する

+0

'$ .ajax() 'を使用して、リクエストを手動で処理するonclick'イベントを設定します。 –

+0

@ChrisG、返信ありがとう... URL文字列自体ではなく、本体にパラメータを追加するにはどうすればいいですか? ? – lenniekid

+0

https://stackoverflow.com/questions/18697034/how-to-pass-parameters-in-ajax-post – hampusohlsson

答えて

0

JavascriptまたはjQueryでクリックハンドラを使用して、デフォルトの即時リダイレクトを回避し、hrefプロパティにアクセスしてパラメータを追加できます。次に、window.locationを使用してユーザーをリダイレクトします。

jQueryの例

$('#example').on('click', function(e){ 
    e.preventDefault(); 
    var urlString = $(this).attr('href'); 
    var newURL = urlString + "?query=param"; 
    window.open(newURL, '_blank'); 
}); 
0

コンテンツ要求本体にデータを渡すを投稿するAJAXを使用することができ、本体のコンテンツを渡すクリックハンドラ。リクエスト本体にデータが確実に渡されるようにするには、ajax()に渡されるオブジェクトの属性をmethod: "post"data: …に設定するのが最も簡単です。 ajax呼び出しでは、これはすべて舞台裏で行われます(つまり、ページは実際には表示されません)。以下のように、アンカータグを含むページの内容については

<a id='link' href='requestecho.php'>This is a link</a> 

次のjQuery/JavaScriptが適用されます:

function grabLink(event) { 
    $.ajax({ 
     url: event.target.href, 
     method: 'post', 
// contentType: 'text/plain', 
     data: {body: 'content sent to server'}, 
     success: function (result) { 
     // do what you will with result… 
     } 
    }) 
    event.preventDefault(); 
    return false; 
} 
$(function() { 
    $('#link').click(grabLink) 
}) 

あなたはcontentTypedata、および/またはdataType属性を設定することができます必要に応じてajax()に渡されたオブジェクトの

関連する問題