Ajax调用和Curl问题

时间:2015-12-28 21:41:52

标签: php ajax curl

我有一个调用PHP脚本的AJAX脚本,该脚本使用CURL向webservice发送请求并将响应保存在文本文件中。

代码如下:

使用Javascript:

$(document).ready(function(){
                $("#doCall").click(function(){
                    $.ajax({
                        cache : false,
                        type : 'POST',
                        url : 'test.php',
                        success : function (response) {
                            console.log(response);
                        },
                        error : function () {
                            console.log("Server side error, try later!");
                        }
                    });      
                }); 
            });

PHP

<?php
$data = '<soapenv:Envelope xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ws="http://ws">
 <soapenv:Header/>
   <soapenv:Body> <ws:uploadCSRP soapenv:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/">
                                             <email xsi:type="xsd:string">myemail@email.com</email>
                                             <pw xsi:type="xsd:string">pass123</pw>
                                             <pid xsi:type="xsd:string">111</pid>
                                             <buildID xsi:type="xsd:string">1.0</buildID>
                                            <fileDataType xsi:type="xsd:string">S</fileDataType>
                                            <fileToUpload xsi:type="xsd:string"><![CDATA[10038|Dickson Motor Service, Inc.|Dickson Motor Service, Inc.|SS4u@att.net|*
10040|Ramus Companies, Inc.|Ramus Companies|DD@gmail.com|*
]]></fileToUpload>
</ws:uploadCSRP> </soapenv:Body></soapenv:Envelope>
';
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, "MyURL"); 
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($ch, CURLOPT_TIMEOUT, 60000);
curl_setopt($ch,CURLOPT_POST, 1);
curl_setopt($ch,CURLOPT_POSTFIELDS, $data);
curl_setopt($ch,CURLOPT_SSL_VERIFYPEER, 0);
curl_setopt($ch,CURLOPT_HTTPHEADER, array("Content-Type: text/xml;charset=UTF-8", "SoapAction: *"));
$content = trim(curl_exec($ch));
curl_close($ch);
$myfile = fopen("response.txt", "w") or die("Unable to open file!");
fwrite($myfile, $content);
fclose($myfile);
echo done;

我面临的问题如下:

当数据变量包含一些条目时,一切正常,响应保存在文件中,“完成”打印在浏览器的控制台中,但是当我在数据变量中放入10000个条目时,ajax调用永远不会结束,当我检查response.txt文件我看到服务器发送了响应并且它已保存在文件中,所以我的问题是:我的代码中是否存在ajax或curl的超时问题,当发送大量数据时会发生?

感谢。

0 个答案:

没有答案