$(document).ready(function(){
// This function get the search results from Solr server
$("#submit").click(function(){
var query=getquerystring() ; //get the query string entered by user
// get the JSON response from solr server
var newquery=query;
$.ajax({
url: "http://192.168.1.9:8983/solr/db/select/?wt=json&&start=0&rows=100&q="+query+"&spellcheck=true&json.wrf=?",
async:false,
dataType: 'json',
success: function(newresult){
var html="
var count=0;
var alt="NoImage";
var size="3pt";
var id;
var flag=1; // Flag for error messages
border="1";
var n=newresult.response.numFound
var uid=new Array(n);
// If no search results
if(newresult.response.numFound==0)
{
var msg= "
We're sorry, we found no results for "+document.getElementById("queryString").value+"
";
}
else
{
/* var msg= "
Total Results Found "+ result.response.numFound+" for "+""+document.getElementById("queryString").value+" keyword
";*/
// Parse solr response and display it on web page
$.each(newresult.response.docs, function(i,item){
uid[i]=item.UID_PK;
});
$.each(newresult.highlighting, function(i,item1){
alert(uid[i]);
});
}
});
});
// get the query string entered by user
function getquerystring() {
var query=document.getElementById("queryString").value;
//qstr = escape(query);
return query;
}
});
在此uid []中获取值
$.each(newresult.response.docs, function(i,item){
uid[i]=item.UID_PK;
});
我想在下一个循环中访问此uid []
$ .each(newresult.highlighting,function(i,item1){
alert(uid[i]);
});
但是uid []在第二个each()循环中不可见,警报在此处显示未定义。 为什么会这样呢? 我需要做的是使uid []在第二个循环中可见。