我有一个 Rails 服务器,我正在尝试使用 $.ajax 函数进行 PUT。服务器给出 POST 200 OK,但数据库数据未更新。
$.ajax({type: 'POST',
url: this.SERVER_IP+ "/user_coordinates/" + this.FRIEND_ID,
dataType: 'json',
async: false,
data: {_method:'PUT',
page: {"user_coordinate":
{"meetinglat":this.meetingPoint.getPosition().lat(),
"meetinglong":this.meetingPoint.getPosition().lng()}
}
},
success: function(msg){
console.log("Sucess! Object: ");
console.log(msg);
},
error: function(msg){
console.log("Error! Object: ");
console.log(msg);
}
});
正在调用错误函数。这里可能出现什么问题?
感谢您的宝贵时间;)
最佳答案
我已经发现问题了。在我的 Controller 中使用 logger.debug 我注意到它需要 params[:user_coordinate] 并且在我的 ajax 调用中我传递了类似的内容:
data: {_method:'PUT',
page: {"user_coordinate":
{"meetinglat":this.meetingPoint.getPosition().lat(),
"meetinglong":this.meetingPoint.getPosition().lng()}
}
}
而不是:
data: {_method:'PUT',
user_coordinate: {"meetinglat":this.meetingPoint.getPosition().lat(),
"meetinglong":this.meetingPoint.getPosition().lng()}
},
现在它可以工作了! ;)
logger.debug“参数#{params[:user_coordinate]}”
关于jquery - 使用 JQuery 进行 RoR PUT,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10800582/