0

次のアドレスをカールする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);すべてのエラーを念のために表示するように設定しましたが、それでも何もありません。

これが私がcurl呼び出しを行う方法です:

$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);
})

私は何かが欠けていますか?これは、phpでどのように機能するかは本当に厄介ですが、ajaxとしては説明のつかないエラーが発生します

4

1 に答える 1

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);
}
于 2013-01-02T08:05:51.683 に答える