【问题标题】:jQuery and Rails ajax request and responsejQuery 和 Rails ajax 请求和响应
【发布时间】:2013-12-03 22:51:26
【问题描述】:

尝试基本的东西,

请求数据和响应数据并使用 jQuery 和 Rails 打印出来

这是前面的代码。

$("#internal_btn").click(function() {
            //window.alert("clicked internal btn!");
            $.ajax({
                type: "POST",
                contentType: "application/json; charset=utf-8",
                url: "/room/test",
                //data: "{'data1':'" + value1+ "', 'data2':'" + value2+ "', 'data3':'" + value3+ "'}",
                data: {name:"ravi",age:"31"},
                dataType: "json",
                success: function (result) {
                //do somthing here
                    window.alert("success!!");
                },
                error: function (){
                    window.alert("something wrong!");
                }
            });
        });

在这里,如果用户点击 internal_btn 这个事件发生并进入服务端

房间/测试操作。

好的,这很好。但我不确定如何发送数据。

如果我运行它,我会遇到这样的错误。

MultiJson::LoadError

795: unexpected token at 'name=ravi&age=31'

我能知道是什么问题吗?

另外,这个请求和响应的json格式有很好的例子吗?

我google了很多,但对结果不满意:(

【问题讨论】:

  • 您能否向我们展示您响应 json 数据的控制器操作
  • 感谢您的回复。我没有做出控制器动作。首先,我试图向控制器请求并从前面获取参数。

标签: javascript jquery ruby-on-rails ajax


【解决方案1】:

尝试使用stringify你的data或使用GET methodlike,

data : JSON.stringify({name:"ravi",age:"31"}),

完整代码

$.ajax({
     type: "POST",// GET in place of POST
     contentType: "application/json; charset=utf-8",
     url: "/room/test",
     data : JSON.stringify({name:"ravi",age:"31"}),
     dataType: "json",
     success: function (result) {
        //do somthing here
        window.alert("success!!");
     },
     error: function (){
        window.alert("something wrong!");
     }
});

【讨论】:

  • 谢谢,我不知道为什么,但我将类型更改为“GET”,现在它可以工作了。 :)
  • 帮助他人:我认为同事的路线不正确。因此,当从 POST 更改为 GET 时,代码可以正常工作。
猜你喜欢
  • 2015-03-18
  • 2011-11-06
  • 2016-07-24
  • 1970-01-01
  • 2018-01-21
  • 1970-01-01
  • 2012-01-08
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多