当通过jquery向python CGI服务器发送post请求时,有时会剪切一些参数。当再次发送相同的发布请求时,将收到带有完整数据的请求。
我检查了Chrome浏览器网络请求,并显示请求已完全发送。
以下是部分发送请求的示例:
var message = {
"to": "test.user@gmail.com",
"sender": "test.user@gmail.com",
"code": "K96nhC4qnIvzcM3XzaIMwfwuRjBooyHZWwtM1hIE\n2rD2WuvZ4B3/2J0xfDstsj91B/K8i7V6gjx1l/Mm\nX5skxuy6ih63ChZN3IWZjIXDCZ1F3V15/7oYDlsa\n6rgueyzEuW87nQJAmAh2P7tFEC6SQxEu/rln8DNs\nMrGSQRdMRY2kmzyVlnKbWEuZ6yjJes7TKaQ2GhL7\nSvAP4DMRl1mKSwnA7qAaCHVqG9iCPqyjy2eKJN/C\nviF7kBavfAZqcMlyY76VyMVSg3zG7t1LUfUA"
}
同样的请求已完全发送:
var message = {
"to": "test.user@gmail.com",
"sender": "test.user@gmail.com",
"code": "K96nhC4qnIvzcM3XzaIMwfwuRjBooyHZWwtM1hIE\n2rD2WuvZ4B3/2J0xfDstsj91B/K8i7V6gjx1l/Mm\nX5skxuy6ih63ChZN3IWZjIXDCZ1F3V15/7oYDlsa\n6rgueyzEuW87nQJAmAh2P7tFEC6SQxEu/rln8DNs\nMrGSQRdMRY2kmzyVlnKbWEuZ6yjJes7TKaQ2GhL7\nSvAP4DMRl1mKSwnA7qAaCHVqG9iCPqyjy2eKJN/C\nviF7kBavfAZqcMlyY76VyMVSg3zG7t1LUfUAhsMN\nXWSoVzG/kmKJen3czBo74UT8s0eUXCtFa01Hfecv\nGbQVBHHlTCrz3y5IoOqUQQDHtzE5oke7TL46nv52\nhwr1Q0/Sc9+QXA+rd/iMOWKjEY+AfbizI5K6v4VJ\nlP6wEL1Wo49f5haAukgJ6kWjx4hI8dcwEKrM5kbR\nDqQ3nQuIAnYM+8NeMmfjgoS4ReovtjQPjN/dk+eP\nEGiF8XWkIHHuerORq/9PERxeitJcZEWWYSkmjPu9\n8mW4K3jSm0SG3LV+E6mOx3uycCYkh9O1mqfwBk+3\nEE8litsIJ84ivZ+FzPZsbI0u9w3zsKE="
}
这两个示例都是从服务器日志格式化的JSON。
这是javascript:
$.post('cgi-bin/somescript.py', message, someCallback, 'text')
答案 0 :(得分:1)
您的'数据'应该是字符串化的Javascript对象:
data: JSON.stringify({ "userName": userName, "password" : password })
或者,要从表单发送数据,请将其传递给formData,如下所示:
data: JSON.stringify(formData)
此处还有一个类似问题的更详细答案:Jquery Ajax Posting json to webservice
orginal answer