将jQuery AJAX调用转换为curl,而不是放入Magento观察器中

时间:2014-05-22 14:40:49

标签: php jquery ajax magento curl

我有一个Magento观察者,我想使用一些curl - 基本上我想使用与下面的jQuery AJAX调用相同的请求,但将其转换为我的观察者函数中的cURL事件。

        $('#org_search_term').autocomplete({
        serviceUrl: '<?php echo $this->getUrl('rp/organisation/search', array('_secure' => true)) ?>',
        paramName:'term',
        minChars: 3,
        deferRequestBy: 500,
        dataType: 'json',
        transformResult: function (response) {
            var results = { suggestions:[] };

            if (!response.totalRecords)
                return false;

            $.each(response.items, function(i, item){
                results.suggestions.push({
                    value: item.organisation_name+', '+item.street+', '+item.town+', '+item.county+', '+item.postcode+', '+item.country,
                    data:  item.organisation_id
                });
            });

            return results;
        }
    });

1 个答案:

答案 0 :(得分:1)

这会有用吗?我的意思是,我认为你的ajax请求没有什么特别之处。

<?php

$opts = array(
  CURLOPT_CONNECTTIMEOUT => 10,
  CURLOPT_RETURNTRANSFER => true,
  CURLOPT_TIMEOUT => 60,
  CURLOPT_USERAGENT => 'My-Magento-Observer',
  CURLOPT_SSL_VERIFYPEER => False,
  CURLOPT_HTTPHEADER => array(
    'Accept: application/json',
  ),
  CURLOPT_URL => $this->getUrl('rp/organisation/search', array('_secure' => true)),
  CURLOPT_POSTFIELDS = array(
    'paramName' => 'term',
  ),
);

$ch = curl_init();
curl_setopt_array($opts);
$result = curl_exec($ch);

if ($errno = curl_errno($ch)) {
  $error = curl_error($ch);
  echo $error;
}
else {
  echo $result;
}

curl_close($ch);