我的HTML代码中有这个
<script type="text/javascript">
var URL = replace();
alert(URL);
</script>
如果我将其放入标题中,则会显示“http://example.com/result&#34;
”function replace() {
url = 'http://example.com';
$.get(url, function(data){
var url_gen = data.responseText;
});
return “http://example.com/result";
}
但如果我像这样使用回报,它就不会做任何事情。为什么呢?
function replace() {
url = 'http://example.com';
$.get(url, function(data){
var url_gen = data.responseText;
});
return url_gen;
}
为了确保,如果我在第二个代码中的 return url_gen; 前插入提醒(url_gen),则提醒显示&#39; http://example.com &#39;所以 url_gen 中有一个实际值!
注意:此处,假设 url_gen 是从网页上进行网页抓取的字符串。
答案 0 :(得分:1)
因为1 url_gen
仅在$.get()
中定义,因此无法在外部访问; 2)$.get()
是异步的。
解决方法:直接从$.get()
返回:
function replace() {
url = 'http://example.com';
$.get(url, function(data){
var url_gen = data.responseText;
return url_gen;
});
}
答案 1 :(得分:1)
让url_gen全局如下:
function replace() {
url = 'http://example.com';
var url_gen ='';
$.get(url, function(data){
url_gen = data.responseText;
});
return url_gen;
}