루비에서 기계화 또는 패러데이로 JSON 양식 데이터를 보내는 방법
-
23-12-2019 - |
문제
JSON 데이터를 사용하여 AJAX를 통해 요청 된 것으로 보이는 사용자 지정 검색 매개 변수를 설정하는 웹 사이트에서 데이터를 검색하고 싶습니다.전송 된 데이터는 XHR-> Firebug :
에있는 Payload에 표시됩니다.{"filters": [{"action": "post", "filterName": "Hersteller", "ids": [269],
"settingName": "Hersteller", "settingValue": "ValueA"},
{"action": "delete", "filterName": "Modelle",
"settingName": "Modelle", "settingValue": ""}]}
.
사이트는 게시물 매개 변수를 전송하지 않지만이 JSON 인코딩 된 데이터 만 검색 기준을 적용합니다.이 데이터를 기계화가있는 게시물 매개 변수로 전달하지 않습니다.
레일의 루비에서 기계화 또는 패러데이를 사용 하여이 데이터를 어떻게 전송할 수 있습니까?
해결책
기계화를 사용하십시오 :
agent.post url, data.to_json, {'Content-Type' => 'application/json'}
. 다른 팁
이 작업을 수행하는 방법을 알아 냈습니다 :
connection = Faraday.new
fetched_page = connection.post do |request|
request.url 'http://www.site.com'
request.headers['Content-Type'] = 'application/json'
request.body = '{"filters": [{"action": "post", "filterName": "Hersteller", "ids": [269],
"settingName": "Hersteller", "settingValue": "ValueA"}, {"action": "delete", "filterName": "Modelle", "settingName": "Modelle", "settingValue": ""}]}'
end
. 제휴하지 않습니다 StackOverflow