各ユーザーのページにコメントが表示され、他のユーザーがコメントを追加できるサイトがあります。私はそれを持っているので、コメントの追加フォームがページにあり、ユーザーがコメントを追加すると、それがデータベースに追加され、AJAXのコメントセクションに表示されます。私はAJAXのためにjQueryを使用しており、LINQ to SQLはデータベースロジックを処理しています。コメントをデータベースに追加した後、コメントセクションを更新し、ページを更新せずに更新できるように、どうすればよいでしょうか?jQueryを使用したASP.NET MVC AJAX
答えて
「成功」(または「完了」)イベントを利用する必要があります。このイベントは、jQuery ajax呼び出しによって起動され、レビューの内容を更新するための後続のAJAX呼び出しを起動します。これはおそらく(未テスト、それ翼)のようなものになります。
function UpdateComments(){
resultHTML = jQuery.ajax({
type: 'GET',
url: 'Comments/List/UserID'
}).responseText;
$('#comments').html(resultHTML);
}
function PostComment(targetUserID, commenterUserID, comment)
jQuery.ajax({
type: 'POST',
contentType: 'application/json; charset=utf-8',
data: $.toJSON({review: comment, id:targetUserID, commenter:commenterUserID}),
dataType: 'json',
url: 'Comments/Add',
success: function(result){
// Only update comments if the post was successful:
resultJson = $.evalJSON(result);
if(resultJson['success'] == true){
UpdateComments();
}
}
});
をEDIT JSONコードは、マットに応じて別の方法をjQueryプラグインのjQueryの-JSON(http://code.google.com/p/jquery-json/)
を利用するだろうフォームデータを送信するには、JSONではなく、jQuery.ajax関数の 'data'フィールドで$( '#form')。serialize()を呼び出すことができます。これにより、プラグインが不要になります。
また、私はこの問題について専門家ではなく、自分でそれを学習しようとしていますが、代わりにPOSTとGETの両方の要求を持つ必要があります。 ?これにより、1つの要求が発生します。しかし、そのアプローチには正当な理由があるかもしれません。私は私はこのようになります推測:
// The Controller Action should return a PartialView as response,
// so just a user control that contains the comments.
function PostComment(targetUserID, commenterUserID, comment)
jQuery.ajax({
type: 'POST',
data: $('#commentForm').serialize(),
url: 'Comments/Add',
success: function(result){
$('#comments').html(result);
}
}
});
こんにちはJulian - それは非常に良い点ですRE:新しいコメント結果をPOST応答に結合する。私はそれがあなたがどれほどRESTfulな潔白な純粋主義者であるかにまでこだわると思います。個人的には、たとえ純粋主義者がそうでないと主張するかもしれないが、私は往復を救うために、それを応答に組み合わせるだろう。 – Matt
- 1. asp.net mvcでjqueryを使用したAjaxファイルのアップロード
- 2. ASP.NET MVC jQuery Ajax
- 3. AJAX - ASP.Net MVCまたはjQuery?
- 4. MVCを使用したAJAXとjQuery
- 5. Jqueryグリッドを使用したASP.Net MVC
- 6. ASP.NET MVC 3のためのjquery ajaxフォーム
- 7. ASP.NET MVCアプリケーションでJQuery ajax parsererror
- 8. Telerik MVCとJQueryを使用したASP.NET MVC
- 9. asp.net mvc 3 + Razor with Ajaxとjqueryを使用する
- 10. FCKeditor、AJAX、およびASP.NET MVCを使用したバインドアクションパラメータの問題
- 11. ASP.NET MVCを使用したajaxコールのクロスオリジン
- 12. asp.net mvcでajaxを使用する
- 13. タブでasp.net mvc 5でajaxを使用
- 14. ASP.NET MVC 3を使用** ** jQueryなし
- 15. ASP.net MVCでAjaxを使用して挿入MVC
- 16. jQueryモバイルでasp.net mvcを使用するajaxナビゲーションのためポストの問題
- 17. ASP.NET MVCでjquery Select2を使用
- 18. ASP.NETコントロールを使用したjQueryセレクター
- 19. asp.netルーティングを実装したJquery ajaxコール
- 20. 追加のデータとJqueryを使用したASP.NET MVCのアップロード
- 21. Telerik(ASP.NET MVC)を使用したjQueryフォームの検証
- 22. Html.ValidationMessageを使用したjQueryでのASP.NET MVCクライアント検証?
- 23. asp.net mvc 3.0 .net 4.0を使用したInfragistics jqueryグリッド
- 24. qTip jQueryプラグインを使用したASP.NET MVC検証
- 25. LINQ2SQLでASP.NET MVC、jQuery/AJAXカスケードドロップダウンリストの問題?
- 26. MVCのJQueryとASP.NET AJAXの相違点
- 27. asp.net mvcでJQuery autoSuggestプラグインを使用
- 28. ASP.NetとAjaxを使用したログインページ
- 29. Asp.net ajaxを使用したインプレイス編集
- 30. IIS/ASP.NETを使用した逆AJAX
URLは次のようになります。「/コメント/追加」...そうでないURLが現在のURLに付加されますし、あなたが最も可能性が高い実際には404 –
を取得します、あなたのサイトがIIS内の別のWebサイトのネストされたアプリケーションとして動作している場合、先行する/はまた物事を捨てるので、実際にはパスを生成するためにMVCヘルパーの1人を使用する方が良いでしょう。 – Matt