异步请求失败,而同步请求通过并按预期工作

时间:2015-03-17 10:22:00

标签: javascript php jquery asynchronous cross-domain

我一直在调整这个脚本一段时间,正如我在问题中提到的,我的代码在非异步模式下工作得很好,而当我更改async:true时,代码就失败了。

这是我的代码。

       $.ajax({
                type : "POST",
                url  : "http://someotherserver.com/sendmail.php",
                data: { resp: data },
                async: false
                })

                    .done(function( msg )
                     {
                        alert(msg); // Works when async:false              
                     })                         

                     .fail(function(jqXHR, textStatus)
                     {
                       if(textStatus == 'timeout')
                       {     
                        alert('Failed from timeout');
                       }
                     });

sendmail.php中没有任何内容位于我朋友的服务器上,CORS启用了{。}}。

sendmail.php

<?php
file_put_contents('request.txt',json_encode($_REQUEST));
echo "filecreated";

问题是当我更改async : true时,永远不会在该服务器上创建request.txt文件,而如果我更改async : false则会按预期工作。

问题是我希望此请求是异步,而不是同步。

有人可以对此有任何想法吗?如果需要更多信息,我将随时准备提供。

0 个答案:

没有答案