Привет. Я пытаюсь выполнить запрос ajax с помощью jquery.Если я использую локально сохраненный файл .txt, у меня не возникает проблем.Проблема возникает всякий раз, когда я пытаюсь запросить сгенерированный php json.Вот код:
$('#find').click(function(){
$.getJSON('http://localhost/public/ProductCatalog/searchindex/txt.php', function(data) {
var items = [];
$.each(data, function(key, val) {
pushStr = '<div class="prod-container">';
pushStr += ' <div class="prod-image-container"><img class="prod-img" src="' + val['foto'] + '"/></div>';
pushStr += ' <div class="prod-desc-container">' + val['title'] + '</div>';
pushStr += ' <input class="id" type="hidden" value="' + val['id'] + '"/>';
pushStr += ' <input class="title" type="hidden" value="' + val['title'] + '"/>';
pushStr += '</div>';
items.push(pushStr);
});
items.push('<div style="clear:both;"></div>');
$('#prod-body').html(items.join(''));
$('img.prod-img').each(function (index, element){
fitImage(element, 75, 110);
});
makeDraggable();
});
});
Итак, если я создаю файл file.txt, копирующий / вставляющий ту же информацию, которую я генерирую из http://localhost/public/ProductCatalog/searchindex/txt.php, и использую ее в качестве параметра, я получаю содержимое,Но когда я запускаю код как есть, ничего не выполняется.
file.txt пример:
{
"item1": {
"foto": "item1.jpg",
"title": "Teclado roland fantom-g8 las teclas con contrapeso",
"id": "1",
"price": "56090.25"
},
"item2": {
"foto": "item2.jpg",
"title": "Teclado roland v-piano lo cambia todo",
"id": "1",
"price": "85501.79"
},
"item3": {
"foto": "item3.jpg",
"title": "Teclado roland ax-synth teclado 49 teclas (dinÃ",
"id": "1",
"price": "13034.05"
},
"item4": {
"foto": "item4.jpg",
"title": "Teclado roland fantom g-6 fuente de sonido avanzada",
"id": "1",
"price": "39989.14"
},
"item5": {
"foto": "item5.jpg",
"title": "Teclado gw-8l roland gw-8l -bstock",
"id": "1",
"price": "11627.32"
},
"item6": {
"foto": "item6.jpg",
"title": "Teclado disney",
"id": "1",
"price": "605.00"
}
}
вот код php:
// action body usinf zend framework
$this->getHelper('viewRenderer')->setNoRender();
$index = Zend_Search_Lucene::open('/data/prod-catalog');
$results = $index->find('teclado roland');
$first = $this->_request->getParam('first');
header('Cache-Control: no-cache, must-revalidate');
header('Content-type: application/json');
$i=1;
echo '{';
foreach ($results as $result){
echo '"item'.$i.'": {'."\n";
echo ' "foto": "'.$result->foto.'",'."\n";
echo ' "title": "'.ucfirst(strtolower($result->titulo)).'",'."\n";
echo ' "id": "'.'1'.'",'."\n";
echo ' "price": "'.ucfirst(strtolower($result->precio)).'"'."\n";
echo ($i<count($results) && $i<6)? '},'."\n": '}'."\n".'}';
$i++;
if($i==7){
break;
}
}