ajax循环取某个值,javascript - 变量不可见,它在一个循环中获取值,而在ajax中访问另一个循环 - 堆栈内存溢出...

$(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 []在第二个循环中可见。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值