实际上我对jquery不太熟悉..我得到了这个jquery脚本,这是将变量传递给以json格式显示数据的文件..但是这里我无法显示数据..plz看到这段代码
$(document).ready(function() {
var globalRequest = 0;
$('#search').bind('keyup', function(event) {
if (event.keyCode == 13) {
searchAction();
}
});
$('#search-link').bind('click', function(event) {
searchAction();
});
var searchAction = function() {
var value = $('#search').val();
var cat = $('#category').val();
var country = $('#country').val();
var page = $('#page').val();
var resultContainer = $('#results');
if (value.length < 3 && globalRequest == 1) {
return;
}
_gaq.push(['_trackEvent', 'Search', 'Execute', 'Page Search', value]);
globalRequest = 1;
$.ajax({
url: "search.php",
dataType: 'json',
type: 'GET',
data: "q="+value+"&category="+cat+"&country="+country+"&page="+page,
success: function(data){
globalRequest = 0;
resultContainer.fadeOut('fast', function() {
resultContainer.html('');
console.log(data.length);
for (var x in data) {
if (!data[x].price)
data[x].price = 'kA';
if (!data[x].img)
data[x].img = 'assets/images/no.gif';
var html = '<div class="res-container">';
html += '<h2><a href="'+data[x].url+'" target="_blank">'+data[x].Title+'</a></h2>';
html += '<img src="'+data[x].img+'">';
html += '<h3>Price: '+data[x].price+'</h3>';
html += '</div>';
resultContainer.append(html);
}
resultContainer.fadeIn('fast');
});
}
});
};
});
Run Code Online (Sandbox Code Playgroud)
在search.php数据是简单的回声..如何从search.php获取数据并在这里显示..对不起英语不好
第一,
你不应该连接你的参数,但使用hashmap:
$.ajax({
url: "search.php",
dataType: 'json',
type: 'GET',
data: {
q : value,
category : cat,
country : country,
page : page }
Run Code Online (Sandbox Code Playgroud)
因为你的方法是(类型:'GET'),只需在php文件中使用($ _GET [param]方法)
<?php
$value = htmlentities($_GET['q']);
$category = htmlentities($_GET['category ']);
$country = htmlentities($_GET['country ']);
Run Code Online (Sandbox Code Playgroud)
在js回调函数中,这是您记录整个响应的方式('something'是标记):
success: function(data){
var $xml = $(data);
console.log($xml); // show the whole response
console.log($xml.find('something')); // show a part of the response : <something>value</something>
});
Run Code Online (Sandbox Code Playgroud)