window.onload = function()
{
var oCount = 0;//计数器
//其他代码
$.ajax({
type: "POST",
url: "__URL__"+"/insertimportseller",
data:"email="+eml,
success:function(data){
if(data == 1)
{
oCount++;
alert(oCount);// 得到的还是累加后的值
}
}
alert(oCount);// 得到的还是0
}
在外部调用oCount,发现ajax回调的函数根本没有给oCount赋值成功的原因就是:ajax同步 异步的问题。
解决办法就是
在以上方法是中使用ajax的同步调用
(async:false,
),只有在获取到了data值并赋值给result以后才会返回result完成该方法的调用。若设为async:true,
例:
window.onload = function()
{
var result =
text;
//其他代码
$.ajax({
type: "POST",
url: "__URL__"+"/insertimportseller",
async:false,
data:"email="+eml,
success:function(data){
if(data == 1)
{
result = data;
}
}
return
result;
}
分享到:
相关推荐
然而,由于Ajax的异步特性,有时会出现回调函数中的数据无法正确赋值给全局变量的问题。这个问题在实际开发中很常见,特别是对于新手开发者来说可能会感到困惑。下面我们将详细讨论这个问题及其解决方案。 首先,...
总结来说,当你在jQuery的AJAX异步调用中遇到不能给全局变量赋值的问题时,应考虑调整代码结构以适应异步编程模型,如使用回调、Promise或async/await。这不仅可以解决问题,还能确保代码的可维护性和良好的性能。...
- 利用全局变量:可以将AJAX成功回调函数内的变量赋值给一个全局变量(或对象的属性)。这样变量就可以在全局作用域中被访问。但是这种方法需要谨慎使用,因为全局变量可能会导致命名冲突和难以追踪的bug。 - 使用...
在JavaScript和JQuery中,全局变量通常用于存储在整个应用程序中都可以访问的数据。然而,当涉及到异步操作,如Ajax...在处理异步数据时,确保正确地使用回调或Promise机制,以确保数据在可用时被正确赋值到全局变量。
如果在Ajax请求完成之前就尝试读取返回的数据并赋值给全局变量,那么很可能获取到的数据还是初始值,因为数据尚未被填充。 为了理解解决方法,需要先了解Ajax的两个重要属性:`async`和`type`。`async`属性控制Ajax...
在使用AJAX进行异步通信时,`onreadystatechange`事件回调函数是一个关键部分,它会在XMLHttpRequest对象的状态改变时被触发。本文将详细讲解如何正确传递参数给AJAX的回调函数。 首先,我们需要理解回调函数的基本...
此外,对于其他开发者可能遇到的类似问题,例如AJAX回调函数不执行、数据乱码、在回调函数中使用`$(this)`失效、如何传递参数、全局变量赋值问题等,通常可以通过以下方式解决: 1. **回调函数不执行**:检查AJAX...
load函数将传入的函数赋值给一个全局变量myback,这样在需要的时候可以随时调用它。而save函数用于模拟后台请求操作,在请求完成后,通过调用myback函数来执行后续操作。 在b.js文件中,我们看到如下代码:load...
- 闭包:函数可以访问其自身作用域、所有父级作用域以及全局作用域的变量,如果一个内部函数引用了外部函数的变量,即使外部函数执行完毕,内部函数仍然可以访问这些变量,形成了闭包。闭包常用于数据封装和实现...
根据给定的信息,本文将详细探讨C#与JavaScript之间的相互调用方法,主要涉及四个方面的内容:如何在JavaScript中访问C#函数、如何在JavaScript中访问C#变量、如何在C#中访问JavaScript已有的变量以及如何在C#中访问...
示例中定义了一个名为 a 的全局变量,并在 $.ajax() 的 success 回调函数里给它赋予从服务器返回的值。之后在文档加载完成后,通过调用 alert(a) 来验证 a 是否正确地包含了从服务器返回的数据。此外,示例还展示了...
- **调用函数**:函数可以通过函数名直接调用,或者赋值给变量后再调用,还可以接收和返回参数。对于没有返回值的函数,其返回值是undefined。 5. **Form表单对象**: - **访问方式**:可以使用`document.forms[n...
- **回调函数**:在异步操作中,如Ajax请求,匿名函数常作为回调函数使用,当异步任务完成后执行。 - **作用域限制**:通过匿名函数,可以创建局部作用域,避免变量污染全局空间。例如,上述示例中,内部的匿名...
**解析**:当服务器响应后,会调用之前设置的回调函数。这里检查 `readyState` 是否为 4(表示请求已完成),以及 HTTP 状态码是否为 200(表示请求成功)。然后获取响应文本,并将其赋值给页面上的某个元素。 ####...
例如,在使用AJAX请求数据时,回调函数(callback function)被广泛应用于处理服务器响应。回调函数可以是一种定义函数的方式,用于在异步操作完成时执行相应的代码。 最后,JavaScript的函数也是一种对象,确切地...
在ASP.NET开发中,用户控件(User Control)是一种可重用的自定义控件,它们可以被嵌入到Web页面中,以提供更复杂的页面布局和功能。当我们需要在一个用户控件中操作另一个用户控件的控件时,通常会涉及到页面生命...
ajax回调函数中,弹出错误信息data.errorInfo一般用iAlert,因为错误信息为后台给出,前端不确定信息长度。 本文总结了用户前端Html5开发中的一些常见问题和解决方法,希望这些经验能够帮助开发者更好地理解和使用...
全局变量在整个脚本中可见,而局部变量只在函数内部有效。 7. 弹出对话框:`alert()` 函数用于显示警告对话框,`text()` 应该是`test()`的误写。这里展示了如何在函数内外访问和显示变量。 8. 正则表达式测试:`...
在调用`ajax`之前,将`this`赋值给一个变量(例如`that`),然后在`success`回调中使用这个变量。这允许你在异步回调中保持对触发事件的元素的引用: ```javascript var that = this; $.ajax({ // ... success: ...