是否可以onreadystatechange
从函数外部检索函数中的变量集?
--edit--
关于函数的执行:
如果可能的话我想一次执行ajaxFunction()
然后用下一次单击弹出(),或者以某种方式等待ajax函数结束然后调用alert框
在伪代码中:
function ajaxFunction(){
//creating AJAX
...
// Create a function that will receive data sent from the server
ajaxRequest.onreadystatechange = function (){
if(ajaxRequest.readyState == 4){
//success code
======>Here i want to set variable <=====
var MyVariable='MyContent';
}
}
//Retrieving page
....
}
function popup(){
ajaxFunction();
alert(MyVariable);
}
Run Code Online (Sandbox Code Playgroud)
以下代码假定ajax-request是同步的:
function popup(){
ajaxFunction();
alert(MyVariable);
}
Run Code Online (Sandbox Code Playgroud)
但由于同步请求阻止了浏览器,因此几乎在所有情况下都应使用异步调用(如果我没记错的话,不应在同步请求上调用onreadystatechange,但不同浏览器的行为方式不同)
你能做的是:
function ajaxFunction(callback){
//creating AJAX
...
// Create a function that will receive data sent from the server
ajaxRequest.onreadystatechange = function (){
if(ajaxRequest.readyState == 4){
//success code
callback('MyContent')
}
}
//Retrieving page
....
}
function popup() {
ajaxFunction(function(MyVariable){alert(MyVariable););
}
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
7267 次 |
最近记录: |