我有一个简单的jQuery AJAX函数
var tkn=getToken(); // user's session token
var dataString="token="+tkn;
console.log(dataString);
$.ajax({
type: "POST",
url: "cgi/getCO.exe",
error: ajaxError,
data: dataString,
success: function(r){
我唯一传递给CGI的是用户的会话令牌,如下所示:
token=12345678901234567890
大部分时间,这都很好。控制台总是显示我所期望的。 偶尔,没有任何东西传递给CGI。 如果用户不好就会出错,当我查看传递的内容时(在服务器日志上),它会显示 nothing 。
我的CGI代码是用PowerBasic编写的编译EXE。 接收器部分如下所示:
function PBMain()
local sParams as string
sParams=readCGI()
并且变量sParams为空。
虽然有可能,但我不知道我的代码是如何失败的。我想知道它是否是IIS中的某些东西,比如MS更新或者是什么东西让我感到烦恼。我质疑这个逻辑,因为我可能有50个网站在后端使用带有PB EXE的jQuery AJAX,它们都运行良好。我有运行IIS 8的Windows 2012-R2服务器。
我的问题:我对如何进一步解决这个问题缺乏想法。我知道这可能很难具体,所以有没有人对可能发生的事情有任何一般性的想法?
答案 0 :(得分:0)
答案是我的CGI在IIS有机会完全发送之前正在读取数据。我通过调用Windows API GetFileDizeEX函数来修复它,直到有数据要服务。
可以在此处找到PowerBasic的完整讨论 http://forum.powerbasic.com/forum/user-to-user-discussions/programming-the-internet/743817-no-post-data-sometimes