Ajax发布请求正确,但在IIS上失败

时间:2018-09-27 06:24:45

标签: php jquery ajax iis

在apache服务器上构建一个站点,现在该站点已移至运行php 7.2的IIS服务器上的最终目录。我在网站上使用基于jQuery的ajax发布请求,将表单数据发送到后端并更新页面。这在apache服务器上效果很好,但是一旦我在新的IIS服务器上安装了代码和数据库,它就停止了工作。开发者控制台中的“网络”标签显示该文件已被命中,并且状态为200。标头正确显示了表单字段,但是文件响应中没有任何内容(应该只是post数组的回显。

这是ajax请求:

$.ajax({
    type:       'get',
    url:        '/ajax/users.php',
    data:       'createUser=1&' + $("form[name=addUser]").serialize(),
    success:    function(msg) {
        console.log(msg);
    }
});

这是/ajax/users.php文件:

<?php
error_reporting(E_ALL);
ini_set('display_errors', 1);

echo "<pre>"; print_r($_REQUEST); echo "</pre>";
?>

标题:

Request Method: POST
Status Code: 200 OK
RESPONSE:
Content-Length: 169
Content-Type: text/html; charset=UTF-8
Date: Thu, 27 Sep 2018 05:59:20 GMT
Server: Microsoft-IIS/8.5
X-Powered-By: PHP/7.2.7
REQUEST:

Accept: */*
Accept-Encoding: gzip, deflate
Accept-Language: en-US,en;q=0.9
Connection: keep-alive
Content-Length: 95
Content-Type: application/x-www-form-urlencoded; charset=UTF-8
Host: somehost
Origin: http://somehost
Referer: http://somehost/users

如果我直接导​​航到该文件并将表单数据放入URL,则该页面将按预期工作,仅在通过ajax请求(获取或发布)且仅在此IIS服务器上时才出现此问题。在旧的Apache上,代码按预期工作。

关于设置的任何想法我可能会丢失吗?还是为什么AJAX无法正常工作?我不亲自控制服务器,但是可以通过电子邮件与该人访问。

0 个答案:

没有答案