iis 8剥离表单数据?

时间:2016-02-22 19:59:50

标签: jquery ajax iis-8 windows-server-2012-r2

我有一个简单的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服务器。

我的问题:我对如何进一步解决这个问题缺乏想法。我知道这可能很难具体,所以有没有人对可能发生的事情有任何一般性的想法?

1 个答案:

答案 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