日期:2014-05-17  浏览次数:20927 次

ASP的异步连接似乎被禁用了?
我用PayPal做了个支付功能,有两个页面执行支付。其中一个页面没问题,但另外一个就不行。
经过几天没日没夜的排除,现在基本上把问题锁定在服务器身上了。

我把表单页面和执行异步的程序页面放在另外一个网站服务器上,没问题。程序正常。
但偏偏在我们的服务器上就不行。
表单页面很简单,一个HTML,里面就一个form。然后提交到Paypal的网站去,paypal会发送一个通知给我的程序页面,假设是payment.asp。这个asp程序里面创建了个XMLHTTPRequest对象,然后异步给paypal又发送了一个form,再从paypal那里获取状态(用过AJAX的都知道的,状态200表示返回成功)。

现在问题就出在这个payment.asp身上,换个服务器空间就OK,在我们的服务器上就不行。
我检查了一下权限,跟那个执行正常的权限一模一样,没问题。防火墙也没说阻止哪个网站不让连接进来什么的。

但现在似乎就是paypal给payment.asp发送数据出了问题——我用记录log的方式调试了一下,就算把写入log的代码放在创建XMLHTTPRequest对象之前也不行,好像是paypal压根就不能访问这个页面一样。但是我在浏览器直接敲入这个页面的地址却是正常的……

请教各位,这种诡异的问题如何处置?我们用的是Plesk服务器管理软件。而且从服务器操作系统到PLESK,全都是英文,四级没过的程序员伤不起啊。。。

------解决方案--------------------
callback只是简单的访问。应该是没有问题的。
------解决方案--------------------
探讨
(用过AJAX的都知道的,状态200表示返回成功)

------解决方案--------------------
两部分,一个就是发送第二个form是否成功,然后调用你的页面给你发送反馈信息时,如果权限设置正确,调用应该没有问题,检查一下编码相关。
还有不知道你的xmlhttprequest是服务器端还是客户端?
客户端如果用ie的话,有一个浏览器监听的软件,可以监听浏览器发送的所有的请求等信息。建议你下载监听浏览器试试。
httpwatch浏览器 跟踪 监听 发送服务器请求 连接 地址http://download.csdn.net/detail/myvicy/4060458