【发布时间】:2013-10-04 19:46:39
【问题描述】:
我正在使用 Ajax 和 Sinatra 运行一个应用程序。我想将 POST 参数发送到我的 app.rb 文件中。
-
我的应用程序.rb
post '/game/moves' do @square = params[:square] puts @square content_type :json { :success => 'Data successfully transmitted' }.to_json end -
我的看法
$.ajax({ url: 'moves', data: {square:square}, type: 'POST', dataType: 'json', success: function() { alert("Success"); }, error: function (XMLHttpRequest, textStatus, errorThrown) { alert(XMLHttpRequest + textStatus + errorThrown); } });
它返回警报“[object Object]error”,但在我的控制台上,我看到我成功检索了 POST 参数。所以它有效,但我无法进入代码的“成功”部分,而是进入错误部分。
我也尝试将 json 类型替换为 html 类型,并删除了我的 app.rb 文件中的返回值,但无济于事(完全相同的错误)。
【问题讨论】:
-
您是否在控制台中查看了从服务器返回的内容?
-
在您的错误处理程序中,尝试
console.log(arguments)并查看记录到您的 JavaScript 控制台的内容。此外,请检查浏览器开发工具的网络选项卡,看看请求是否符合您的预期。 -
我猜是解析错误?
-
如果您在控制台中看到响应,您的响应很可能不是有效的 json。
-
请修复 url: 'moves' 到 url: 'game/moves'
标签: javascript jquery ruby ajax sinatra