
正文
ajax的数据传给全局变量js,ajax传输数据
提示:扫一扫查出行【扫一扫了解最新限行尾号】
复制提示
jQuery的$.Ajax()返回的数据如何才能保存给全局变量?
var get=function(){ return localStorage.getItem(a)||;}var a=get();console.log(a);//应该是伪空setTimeout(function(){ console.log(a);},5000);//等待5秒再试试。
我下面以返回JSON为例子,\x0d\x0a var dataArray = jQuery.parseJSON(data); //接受一个JSON字符串,返回解析后的对象。
实现的最简单的思路之一是在函数外定义一个变量,在ajax的成功回调函数中将回调函数的参数赋值给该变量,然后即可实现在其他函数里使用该变量即ajax回调返回的数据。
不同的页面,document都不是一个,怎么能公用呢。要共用必须2个js都在同一个页面,也就是同一个document中。
Ajax是异步的,所以赋值是成功完成了的,但是大部分情况下是在尝试去使用result全局变量之后才发生赋值操作,因此是没有保证的。所以,针对Ajax请求返回的数据,不能这样使用,建议还是在回调函数中直接操作吧。
相关问答
Q1: js通过ajax发送请求赋值全局变量
1、就像正常的js全局变量赋值一样即可,不过需要注意的是:ajax有同步异步之分,异步时请求发送相当于一个独立的线程,不会影响原程序本身的执行,所以在使用全部变量的时候,一定要确保ajax被执行完全,同步相对而言此类问题较小。
2、Ajax是异步的,所以赋值是成功完成了的,但是大部分情况下是在尝试去使用result全局变量之后才发生赋值操作,因此是没有保证的。所以,针对Ajax请求返回的数据,不能这样使用,建议还是在回调函数中直接操作吧。
3、在外部定义一个全局变量,然后在回调函数中进行赋值,接下来就可以使用该值了。但是要注意的是,ajax是异步调用,因此上什么时候会被赋值,这个时间不固定,在使用这个全局变量之前,需要判断一下是否已经被回调函数赋值。
4、function test(){ s = “sh”;//全局变量 var c = 1;//局部的整形变量 } 这样即可为一个全局变量赋值。省略了var操作符,就创建了一个全局变量,如上形式就可以直接进行创建并且赋值。
5、将一些数据(比如ID)通过Ajax传给PHP,然后PHP处理了过后,以HTML或XML的形式输出一些结果,Ajax接收到的就是这些字符串,然后把这些字符串进行处理表现在页面上即可。
Q2: ajax请求返回数据保存为全局变量
Ajax是异步的,所以赋值是成功完成了的,但是大部分情况下是在尝试去使用result全局变量之后才发生赋值操作,因此是没有保证的。所以,针对Ajax请求返回的数据,不能这样使用,建议还是在回调函数中直接操作吧。
就像正常的js全局变量赋值一样即可,不过需要注意的是:ajax有同步异步之分,异步时请求发送相当于一个独立的线程,不会影响原程序本身的执行,所以在使用全部变量的时候,一定要确保ajax被执行完全,同步相对而言此类问题较小。
不同的页面,document都不是一个,怎么能公用呢。要共用必须2个js都在同一个页面,也就是同一个document中。
Q3: 在HTML页面中用JS的弹出层来修改数据,如何用ajax传PHP中的超全局...
将一些数据(比如ID)通过Ajax传给PHP,然后PHP处理了过后,以HTML或XML的形式输出一些结果,Ajax接收到的就是这些字符串,然后把这些字符串进行处理表现在页面上即可。
JS向PHP传递数值只有两种方法:GET和POST,GET把参数写在URL上,例如abc.php?param=123,POST的参数在数据里面。
php是在后台运行,然后生成HTML代码和JS代码,然后输出到前台,然后用户的浏览器运行这些HTML和JS代码。所以JS代码是不能传值给php的,因为JS运行时php早已运行结束了。
Q4: js中怎么把ajax查出的数据传递给变量?
解决办法:针对Ajax请求返回的数据,建议在回调函数中处理吧。
因为 ajx 是 XMLHttpRequest 对象,不是返回的文本 ajx.responseText。
就像正常的js全局变量赋值一样即可,不过需要注意的是:ajax有同步异步之分,异步时请求发送相当于一个独立的线程,不会影响原程序本身的执行,所以在使用全部变量的时候,一定要确保ajax被执行完全,同步相对而言此类问题较小。
request.setattribute(a,ajaxXML)在界面你可以写个隐藏的input,取个id的名字叫ajaxValue之类的,然后在js中获得该值。当然这只是最粗糙的写法,你可以研究回调函数之类的取值过程。
{ xmlHttp=new ActiveXObject(Microsoft.XMLHTTP); }else if(window.XMLHttpRequest){ xmlHttp=new XMLHttpRequest(); }}如果你只想把值传给php,这样就够了,希望对你有用。
要存全局变量的坏处就是怕使用的过程中,你的值还没拿到,而你又调用了这个变量。造成意想不到的麻烦。
ajax的数据传给全局变量js的介绍就聊到这里吧,感谢你花时间阅读本站内容,更多关于ajax传输数据、ajax的数据传给全局变量js的信息别忘了在本站进行查找喔。






