1

我使用该方法将数据发送到服务器Rho::AsyncHttp.post,但我无法将数据作为 json 对象发送。但是将数据作为字符串发送到服务器,但服务器 api 需要 json 数据。

这是我正在使用的代码,

data = { :query1 => "this demo" , :query2 => "another demo" }
result = Rho::AsyncHttp.post(
    :url => "https://www.myserverapi.com/myapi",
    :body => data
)

上面的代码无法连接到服务器。但是,当我更改时:body => #{data},它会以字符串的形式到达服务器。蚂蚁建议?

4

1 回答 1

1

首先,当您设置 时:body => #{data},您正在将 json 数据转换为字符串#{}

其次,您需要将 设置:header{ "Content-Type" => "application/json; charset=utf-8", "Accept" => "application/json" }。这使得 post 方法接受数据作为 json 对象。

所以你需要下面的代码,

data = { :query1 => "this demo" , :query2 => "another demo" } # Any data to be passed
result = Rho::AsyncHttp.post(
    :url => "https://www.myserverapi.com/myapi",
    :header => { "Content-Type" => "application/json; charset=utf-8", "Accept" => "application/json" },
    :body => Rho::JSON.parse(data)
)

希望这对您有所帮助。

于 2013-09-13T03:46:49.107 回答