私はすでにstackoverflowに多くの質問があることを知っていますが、それらのどれも私の役に立つものではありません。RailsでAJAX呼び出しに応答する方法
function update_schedule($task){
var taskId = $task.data("taskId"),
startHour, endHour,
userId = $('#users').val();
if(!$task.hasClass('daily-task')){
startHour = getStartHour($task),
endHour = startHour + (+$task.data('time'));
}
console.log(startHour, endHour)
$.ajax({
url: '/heimdall/update_scheduled_task',
method: 'POST',
data: { "task_id": taskId, "start_hour": startHour, "end_hour": endHour, "user_id": userId },
success: function(){
console.log("SUCESS!!", data['head'])
},
error: function() {
console.log("FAILURE");
},
async: true
});
}
コントローラコード:
def update_scheduled_task
scheduled_task = ScheduledTask.find_or_create_by(task_id: params[:task_id])
scheduled_task.update_attributes(start_hour: params[:start_hour], end_hour: params[:end_hour], task_id: params[:task_id], user_id: params[:user_id])
end
は、私が見つけたか、作成したタスクのIDを返すようにしたい。ここに私のAjaxコードです。私はこの情報を送受信する方法を知らない。私はこれに答えて読んだことがありますが、私はこの場合にどのように使用するか分かりません。
def update_scheduled_task
scheduled_task = ScheduledTask.find_or_create_by(task_id: params[:task_id])
scheduled_task.update_attributes(start_hour: params[:start_hour], end_hour: params[:end_hour], task_id: params[:task_id], user_id: params[:user_id])
render json: {scheduled_task_id: scheduled_task.id}
end
とAJAX機能の成功で、好きで、それを使用します:
私はまだエラーが発生します:Uncaught SyntaxError:位置1のJSONで予期しないトークンo – Mark
あなたのコントローラに 'scheduled_task.id'の値を表示し、何を印刷することができますか? – Abhi
問題はJSONを2回解析していました(最初はレンダリング、2番目は成功関数)。データを削除した後、everythignは完全に機能します。ありがとうございました。 – Mark