私はjQuery / Javascriptを初めて使用し、ロボットを使用してチャットルームを実装するのに問題があります。私は特にコントローラーとJSとの通信にこだわっています。
基本機能:
応答が表示に追加されます
これが私がこれまでに持っているものです
コントローラ
class MainPageController < ApplicationController
def chat
@username = params[:username]
@bot = JibunBots.new(@username, Message.where(:username => @username).first.message)
respond_to |post| do
return @bot.conversation(post.data)
end
end
end
Javascript
$(document).ready(function () {
$("#submitmsg").click(function(){
var clientmsg = $("#usermsg").val();
$('<p>' + gon.username + ": " + clientmsg + '</p><br>').appendTo('#chatbox');
$("#usermsg").attr("value", "");
#SEND POST HERE?
#RECEIVE DATA FROM CONTROLLER?
#ADD NEW COMMENT HERE?
});
})
あなたは正しい基本構造の考えを持っています。コントローラに関連するroutes.rbに作成したルートにPOSTリクエストを送信し、保存したメッセージとともにjsonオブジェクトを返す必要があります。
jQuery.ajax({
url: "/chat/create", // a route in routes.rb for your controller
type: "POST",
data: {comment: submitted_comment , user_id: user_id }, // place to send data to your controller
dataType: "json"
success: function(data){
// data will be the response object(json)
// use data to create new chat object using a template of some sort
}
});
この記事はインターネットから収集されたものであり、転載の際にはソースを示してください。
侵害の場合は、連絡してください[email protected]
コメントを追加