0 0

如何把ajax返回的responseText赋值给外部变量5

function setHtml(){
  var html = "";
  $.getJSON("ajax!getList",function(data){
    html = data.section;
    alert(html);//这里就能取到html,但是外部html变量没有改变
  });
  alert(html);//这里答应就是空字符串
}

请问有没有什么方法把$.getJSON("ajax!getList",function(data){});内的变量的值赋值给外部的html
2012年11月26日 18:30

4个答案 按时间排序 按投票排序

0 0

采纳的答案

这种情况最好是把处理响应的逻辑写到匿名名方法里面:

function setHtml(){ 
   $.getJSON("ajax!getList",function(data){ 
     html = data.section; 
     alert(html);
     //处理响应的逻辑写在这
   }); 


如果处理逻辑很长,你写一个函数在外面就好了:
function setHtml(){ 
    $.getJSON("ajax!getList",function(data){ 
      html = data.section; 
      afterGetList(html);
    }); 
  } 

function afterGetList(html){
   alert(html);
  //处理响应的逻辑写在这
}

同步方法最好不用,网络出点小状态IE下就会有假死的情况,多来两次用户就得有反应了

2012年11月27日 10:31
1 0

getJSON缺省是异步的,所以最后一条alert(html);语句会在回调函数调用之前执行,所以此时你得到的是空串。

解决方法是让getJSON同步执行,这样,只有回调函数执行完以后,才会执行最后一条alert(html);

function setHtml(){
  var html = "";
  $.getJSON("ajax!getList",{async:false},function(data){
    html = data.section;
    alert(html);//这里就能取到html,但是外部html变量没有改变
  });
  alert(html);//这里答应就是空字符串
}

2012年11月26日 19:03
0 0

  很简单,只要把 async 这个属性 设置成 false 就好了。

2012年11月27日 12:52
0 0

貌似是这样的,LZ可以试一下

2012年11月27日 09:35

相关推荐

    Ajax中responseText返回的是一个页面而不是一个值

    自己在struts2中的写好了业务逻辑用response返回的内容却是... 您可能感兴趣的文章:ajax的responseText乱码的问题的解决方法jquery ajax学习笔记2 使用XMLHttpRequest对象的responseXMLAjax request response 乱码解决

    处理ajax返回的js代码

    标题 "处理ajax返回的js代码" 涉及的核心知识点是使用Ajax技术动态获取并执行JavaScript代码。Ajax(异步JavaScript和XML)是一种在无需刷新整个网页的情况下,能够更新部分网页的技术。它通过在后台与服务器交换...

    ajax的responseText乱码的问题的解决方法

    在开发Web应用时,我们经常会遇到Ajax请求返回的数据(通常是`responseText`)出现乱码的问题,这可能会导致前端展示的信息无法正确理解。虽然JavaScript和IDE(如MyEclipse)的编码设置一致,但这并不意味着在Ajax...

    asp.net ajax操作xmlHttpRequest对象返回的ResponseXML和ResponseText例子

    在这个例子中,我们将关注如何处理服务器返回的数据,特别是`ResponseXML`和`ResponseText`属性。 `ResponseXML`属性是一个XML DOM对象,它包含了服务器返回的XML格式的数据。如果服务器返回的是一个有效的XML文档...

    ajax返回字符串

    这个"ajax返回字符串"的标题暗示我们讨论的是如何使用Ajax从服务器获取字符串数据,而描述中提到的“返回xml格式”则指出数据是以XML(可扩展标记语言)的形式传输的。尽管现代Web开发中JSON格式更常见,但XML仍然是...

    解决ajax返回innerHTML中javascript不能运行问题

    实际上,我们可以在 Ajax 返回数据并 `innerHTML` 到模板之前先把 `<div>` 中的 JavaScript 取出并写到模板页面的 `<head>` 中让浏览器解析。这样就相当于在打开模板页面的同时加载了所有 `<div>` 标签需要的 ...

    json2 ajax返回list处理 在jsp页面 遍历

    这里我们将深入探讨如何在JSP页面上处理通过AJAX返回的JSON列表,并进行遍历显示。 首先,我们需要理解JSON2库的作用。在一些旧的浏览器中,如IE7及更早版本,原生不支持JSON对象。JSON2库由Douglas Crockford编写...

    ajax返回json对象.zip

    这个"ajax返回json对象.zip"文件很显然是关于如何使用Ajax从服务器获取并处理JSON数据的一个教学或示例资源。JSON(JavaScript Object Notation)是一种轻量级的数据交换格式,因其易于人阅读和编写,同时也易于机器...

    Ajax返回数据

    一旦服务器返回响应,Ajax代码可以处理这些数据,并动态更新页面内容。 二、返回字符串 在Ajax请求中,服务器端处理完业务逻辑后,通常会将结果以字符串形式返回。在JavaScript中,你可以通过XMLHttpRequest对象的`...

    ajax异步刷新,一般处理程序返回datatable

    5. **处理响应**:使用`responseText`或`responseXML`属性获取服务器返回的数据,然后解析并更新页面。 在服务器端,C#的一般处理程序(.ashx文件)是轻量级的HTTP处理器,适合处理简单的数据请求。以下是一个处理...

    js变量利用ajax转php变量

    - **处理响应**:使用`responseText`或`responseXML`属性获取服务器返回的数据。 5. **JS到PHP的数据传输**: - **GET方式**:将JS变量附加到URL后面,以问号分隔,但受URL长度限制,不适合大量或敏感数据。 - *...

    Ajax_001【返回String类型】

    这里的"返回String类型"表示我们的Ajax请求将处理服务器返回的字符串数据。Ajax的核心是利用JavaScript与XMLHttpRequest对象进行交互,实现页面的局部刷新,提高用户体验。 在Web开发中,当用户触发一个操作,如...

    js操作ajax返回的json的注意问题!

    然而,在处理Ajax返回的JSON数据时,有一些重要的注意事项需要遵循,以确保数据的正确解析和安全使用。下面将详细阐述这些关键点。 首先,让我们分析提供的代码片段: ```javascript var result = unescape(xmlhttp...

    AJAx发送请求,获取返回值,判断处理返回结果

    AJAx发送请求,获取返回值,判断处理返回结果

    ajax 返回结果拼装到 select

    总之,Ajax返回结果拼装到`<select>`涉及到的关键技术点包括:Ajax请求、JSON数据解析以及DOM操作。通过以上代码示例,你应该能理解如何在实际项目中实现这一功能。在进行Web开发时,动态加载数据可以显著提升用户...

    ajax ajax原理 ajax代码 ajax编程 ajax学习

    5. **接收响应**:如果`status`属性值为200,表示请求成功,可以使用`responseText`或`responseXML`属性获取服务器返回的数据。 6. **处理返回数据**:将服务器返回的数据解析并更新DOM,实现局部刷新。 ### **Ajax...

    ajax获取单独页面

    - `external3.htm`, `external2.htm`, `external4.htm`, `external.htm`:这些可能是通过Ajax请求获取的外部页面,它们的内容可能会被动态加载到主页面的某个部分。 - `ajaxtabs`:这可能是一个包含 `ajaxtab` 插件...

Global site tag (gtag.js) - Google Analytics