gpt4 book ai didi

jquery - 发布未更改的有效负载

转载 作者:行者123 更新时间:2023-11-27 22:49:08 25 4
gpt4 key购买 nike

我模拟了一个表单,我计划使用它来将任意值发布到任意 URL。我主要使用它来测试我通过浏览器开发的 Web 服务。该页面有<input>s表格 methodaction和许多对 input="text"用于设置发布的名称/值对的控件。

这对于我需要默认查询字符串编码的服务非常有效,即:

POST http://mysite.com/MyService.svc/CheckUsername HTTP/1.1
User-Agent: Fiddler
Host: mysite.com
Content-Length: 15
Accept: text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8

userName=Tester

然而,一些网络服务显然需要其他格式的数据。具体来说,我要提供的服务接受 XML:

POST http://mysite.com/MyService.svc/checkusername HTTP/1.1
User-Agent: Fiddler
Host: mysite.com
Content-Length: 60
Content-type: text/xml
Accept: text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8

<CheckUsername> <username>tester</username> </CheckUsername>

如何完全控制表单 POST 的有效负载,以便正确构建有效负载?理想情况下,解决方案将仅为 HTML,但我还在页面上大量使用 jQuery,因此使用它也是一种选择。我知道我可以使用 $.ajax() 完全操纵数据但除非我弄错了,否则这不是一个选项,因为同源策略 - 我希望此表单能够发布到我的任何网站,而不必将其上传到 Web 服务器。

最佳答案

我认为这里唯一的选择是您的服务器上的代理脚本,它将使用 cURL 发出 POST 请求。 (有关 PHP 示例,请参阅 passing $_POST values with cURL)。不是发布到 Web 服务,而是发布到您自己服务器上的脚本,然后该脚本将发布到 Web 服务。

如果不是跨域请求,可以轻松发起任意body的POST请求:

$.post(
'http://example.com',
'<CheckUsername><username>tester</username></CheckUsername>')

您也可以使用 Flash、CORS 或 iframe 来解决您的跨域问题,但这些需要 Web 服务的配合,即 crossdomain.xml 文件或 Access-Control-Allow-Origin header ,我猜,不是一个选项。

关于jquery - 发布未更改的有效负载,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5187593/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com