发布数据被剪裁

时间:2013-11-20 12:10:40

标签: python post cgi

当通过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')

1 个答案:

答案 0 :(得分:1)

您的'数据'应该是字符串化的Javascript对象:

data: JSON.stringify({ "userName": userName, "password" : password })

或者,要从表单发送数据,请将其传递给formData,如下所示:

data: JSON.stringify(formData)

此处还有一个类似问题的更详细答案:Jquery Ajax Posting json to webservice
orginal answer