使用curl获取页面 - 在php中工作正常但是当我使用ajax时会出现问题

时间:2013-01-02 04:17:45

标签: php ajax curl

我有一个php页面,它卷曲了以下地址。它检索页面运行一些xpath查询并返回/回显结果。

当我通过浏览器访问此页面时,它工作正常,没有显示错误,并且返回结果。

然而,当我尝试通过ajax访问此页面时,没有任何内容返回到ajax,它似乎有些卡住了。

事件的流程是:我对我的php页面进行ajax调用。在该页面中,我执行crul和xpath查询,结果将返回到ajax。

这是我尝试检索的页面。

http://www.zara.com/webapp/wcs/stores/servlet/product/us/en/zara-us-W2012-s/337006/908067/FANTASY%20MINI%20SKIRT%20WITH%20DIAMANTE

奇怪的是,php没有通过任何错误我设置error_reporting (-1);来显示所有错误只是因为仍然没有

这是我如何进行卷曲调用:

$url = 'http://www.zara.com/webapp/wcs/stores/servlet/product/us/en/zara-us-W2012-s/337006/908067/FANTASY%20MINI%20SKIRT%20WITH%20DIAMANTE';

$pageData = curl_init($url);
$userAgent = "Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US) AppleWebKit/525.13 (KHTML, like Gecko) Chrome/0.A.B.C Safari/525.13";
curl_setopt($pageData, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($pageData, CURLOPT_FOLLOWLOCATION, 1);
curl_setopt($pageData, CURLOPT_USERAGENT, $userAgent);
    // - update
    // echo "notification";
    // exit;
    //
echo $to_return = curl_exec($pageData);

这是ajax电话:

var ajax_url = 'http://www.somedomain.com/f/ajax_func.php';
var url_to_search = 'http://www.zara.com/webapp/wcs/stores/servlet/product/us/en/zara-us-W2012-s/337006/908067/FANTASY%20MINI%20SKIRT%20WITH%20DIAMANTE';

$.ajax({
    type: "POST",
    url: ajax_url,
    data: { ajax_search_product: "ajax", url_to_search: url_to_search}
    }).success(function(data) {
        alert(data);
})

我错过了吗?这真的很尴尬,它是如何工作的,但作为ajax它会导致一个无法解释的错误

1 个答案:

答案 0 :(得分:0)

Please add error function in your ajax to know what the status and error is...

error:function(xhr,err){
alert("ERROR : "+err);
    alert("readyState: "+xhr.readyState+"\nstatus: "+xhr.status);
    alert("responseText: "+xhr.responseText);
}