Reputation: 14142
I have a Magento observer that I want to use some curl with - essentially I want to use the very same request as the jQuery AJAX call below but convert this into a cURL event within my observer function.
$('#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;
}
});
Upvotes: 0
Views: 628
Reputation: 1760
Will this work? I mean, I don't think there is anything special about your ajax request.
<?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);
Upvotes: 1