【发布时间】:2011-08-12 13:34:24
【问题描述】:
我这里有一个非常具体的。我基本上是在尝试将一组字符串发布到我的一个 ruby 服务器并将其处理回对象。问题是当我通过 Json 发送时,它会像这样
返回服务器的非常奇怪的语法。
所以我的问题是我的错误在哪里,我该如何解决?
1:是我的 ruby/rails 服务器没有正确解析 json 吗? (我对此表示怀疑,因为无论如何 json 看起来都被破坏了)
2:这是我构建数组的方式吗?
3:或者是(很可能)我如何发布我的数组?
所以只是提供更多细节。 在 javascript 的客户端,我有你日常的字符串数组。 当我运行这个时:
JAVASCRIPT 数组:
var $arrayToSend = JSON.stringify(headersTitleArr);
console.log($arrayToSend);
它产生:
[" Page Title "," Description "," Keywords "," Internal Links ","
External Links "," Content files "," Notes "]
在我这样列出的发布方法之后:
JAVASCRIPT POST:
$.ajax({
type: 'POST',
url: webAppURL+websiteID+".json",
data: {elementTypes:$arrayToSend},
success: function(){
console.log("YIPPEE I HAS A SUCCESS");},
dataType: 'json'
});
在 ruby 方面,这是在倾倒参数后出现的:
根据要求编写 Ruby 代码。
红宝石:
puts YAML::dump(params[:elementTypes])
@x = (params[:elementTypes])
@elementTypes = JSON.parse(@x)
和服务器上的打印结果:
--- "[\" Page Title \",\" Description \",\" Keywords \",\" Internal
Links \",\" External Links \",\" Content files \",\" Notes \"]"
【问题讨论】:
-
是的,可能您发布阵列的方式。但是在我们判断之前让我们看看 ruby 代码好吗? :P
-
@corroded 只是一个疯狂的想法。似乎额外的 \ are onyl 进入服务器端。这可能是因为我将 Json 字符串创建为 data: 并将 type: 声明为 JSON 吗?顺便说一句,我已经根据您的要求重新提出了这个问题。
标签: javascript html ruby-on-rails ruby json