`
lgx2351
  • 浏览: 175883 次
  • 性别: Icon_minigender_1
  • 来自: 福州
社区版块
存档分类
最新评论

ajax请求提供接口的讨论

阅读更多

要提供一个查询某点周边的最近设施的功能给同事,在gis端的实现暂不在这里讨论,只讨论前端的接口。写了如下接口:

/*
 * pursor:latest distance query
 * author:liugx
 */
function LatestDistanceQuery(){}
LatestDistanceQuery.getLatestAttribute= function(road_id,mile) {
	var url = "/gis_web/webmap/LatestDistanceQueryAction.do";
	var pars = "ROAD_ID="+road_id+"&MILE="+mile;
	new Ajax.Request(
		url,		
		{	parameters: pars,
			method:"get",
			onCreate:function(){
			},
			onComplete:function(originalRequest){
				var returnText = originalRequest.responseText;
                                return returnText;
				//以下为测试代码
				/*if(returnText){
				    var strAtt = returnText.split(";");
				    for(var i=0;i<strAtt.length;i++){
				    	jsonArr = eval('(' + strAtt[i] + ')'); 
					    alert("NAME="+jsonArr.NAME+",LASTEST_DISTANCE="+jsonArr.LASTEST_DISTANCE+",LYR_FLAG="+jsonArr.LYR_FLAG);
				    }
				}*/
			}
		}
	);
}
 

本想让同事直接在js端调用LatestDistanceQuery.getLatestAttribute()方法就好,返回ajax请求的结果。用的时候发现一个问题,调用LatestDistanceQuery.getLatestAttribute()后,alert结果老是提示underfined。一开始不知道为什么会这样。后来想一想,原来发ajax请求时,因为默认是异步,所以在onComplete还没有完成时,函数就返回了,所以一直返回underfined。只有把ajax请求设置为同步时,才会等候结果返回。

所以,一般我们不用ajax发请求来提供接口。其实,我只要把action提供给同事就好了,调用方是否用ajax请求用调用方决定。

记下,以备录吧。以后可能也会用得到。

分享到:
评论

相关推荐

    解决拦截器对ajax请求的拦截实例详解

    本文主要讨论的是如何解决拦截器对Ajax请求的拦截问题。在某些情况下,我们可能希望拦截器只对非Ajax请求进行拦截,或者在拦截到Ajax请求时返回特定的信息以便前端进行处理。以下是对该问题的详细解释: 1. **判断...

    Ajax的小封装 get,post请求

    在描述中提到了对Ajax的get请求的小封装,这意味着我们将会讨论如何用JavaScript来构建一个简易的Ajax GET请求函数,并可能涉及POST请求的实现。 ### 1. Ajax GET 请求小封装 GET请求是最常见的HTTP方法,用于从...

    Dwrweb服务的ajax请求数据直接调用javaDAO类返回JSON数据。取值方便。快捷

    在这个场景下,我们讨论的是通过DWR实现的Web服务,它使用Ajax请求来调用JavaDAO类,以获取并返回JSON数据。 首先,理解DWR的工作原理至关重要。DWR在服务器端运行一个Servlet,这个Servlet负责接收JavaScript的...

    Javascript发送AJAX请求实例代码

    最后,这个`ajax`函数提供了一个简洁的方式去发送AJAX请求,可以方便地与其他JavaScript代码集成。然而,现在的前端开发中,更多的开发者倾向于使用jQuery、axios、fetch这样的库或API,它们提供了更强大、更易用的...

    JS实现定时任务每隔N秒请求后台setInterval定时和ajax请求问题

    3. **避免阻塞UI**:长时间运行的AJAX请求可能会阻塞浏览器的UI线程。使用`async: true`可以使请求变为非阻塞,但也要注意处理好回调,避免在主线程中执行耗时的操作。 4. **使用Promise或async/await**:现代...

    超轻量级的Ajax库-ajax.js

    - **易用性**:提供简单的API,如`ajax.get()`和`ajax.post()`,便于开发者快速发起Ajax请求。 - **兼容性**:考虑到旧版浏览器,`ajax.js`可能实现了对IE6+等老版本浏览器的支持。 - **错误处理**:可能包含错误...

    Jquery Ajax分页(有实例)

    - **发送AJAX请求**:使用`$.ajax()`函数,设置URL(指向获取数据的接口)、类型(GET或POST)、数据(如果需要的话,如当前页码、每页显示数量)等参数。 - **处理服务器响应**:成功回调函数中,将返回的数据...

    ajax的dll代码

    9. **错误处理**:在服务器端代码中,应有适当的错误处理机制,确保在Ajax请求失败时能提供有用的反馈。 总结来说,"ajax的dll代码"是一个包含多种ASP.NET页面和后端支持的项目,展示了如何使用Ajax技术进行页面...

    登陆界面Demo:使用用户名和密码登陆,包含Ajax异常请求

    在实际应用中,网络环境可能会不稳定,导致Ajax请求失败。因此,对于Ajax异常请求的处理至关重要。这可能包括但不限于以下几种情况: 1. 网络断开:当用户失去网络连接时,前端应能检测到并给出相应提示。 2. 服务器...

    ajax验证学号是否在数据库中存在及日期控件

    在Ajax请求中,我们通常使用`XMLHttpRequest`对象或者jQuery的`$.ajax()`方法。请求的目标是服务器上的一个接口,该接口负责查询数据库中是否存在指定的学号。 ```javascript function validateStudentID(studentID...

    javascript 利用ajax获取验证码内容和session值

    在JavaScript中,我们可以利用AJAX请求服务器生成验证码,并将返回的验证码内容显示在页面上。 首先,我们需要创建一个HTML元素,例如一个img标签,用于展示验证码图片。然后,我们可以编写一个JavaScript函数,...

    反向ajax

    长轮询是客户端发起一个Ajax请求,服务器接收到请求后不立即响应,而是保持连接打开状态,直到有新数据可用时才返回响应,或者超时关闭连接。这种方式解决了传统Ajax请求中频繁刷新的问题,提高了实时性,但同时也...

    ajax登陆注销注册

    1. **前端交互**:在用户登录后,提供一个注销按钮,点击触发Ajax请求。 2. **发送请求**:注销按钮点击时,发送一个DELETE或POST请求到服务器的注销接口,携带用户的标识信息。 3. **处理响应**:服务器删除或标记...

    AJAX实现仿Google Suggest搜索提示效果

    总结来说,实现仿Google Suggest的搜索提示功能主要涉及前端的AJAX请求、JavaScript事件处理和动态DOM操作,以及后端的数据查询和JSON响应。这个过程需要前后端的紧密配合,以提供高效、流畅的搜索体验。通过不断...

    js每隔5分钟执行一次ajax请求的实现方法

    在JavaScript中,定时执行任务是常见的需求,例如每隔一段时间向服务器发送AJAX请求来检查更新或获取新数据。本问题中提到的是如何实现一个页面每隔5分钟执行一次AJAX请求,这可以通过`setTimeout`函数来实现。下面...

    基于J2EE的Ajax宝典_ajax_

    它提供了多种服务、接口和组件模型,支持分布式计算,适用于构建可扩展、安全且易于维护的企业级应用程序。J2EE包括Web容器和应用服务器,能够处理HTTP请求,提供EJB(Enterprise JavaBeans)服务,以及支持数据库...

    基于 Ajax的 ETL 工具分析与 web 实现

    本部分讨论了如何使用Ajax技术设计和实现一个基于Web的ETL工具。Ajax(Asynchronous JavaScript and XML)是一种创建交互式网页应用的技术,它可以实现页面的部分刷新,无需重新加载整个页面。 1. **系统分析**: ...

    ajax留言板

    2. **事件监听**:当用户提交表单时,阻止默认的表单提交行为,触发Ajax请求。 3. **发送请求**:使用Ajax向服务器发送包含用户名和留言内容的数据。 4. **处理响应**:接收到服务器返回的响应后,可以将新的留言...

    省市级联Ajax\省市级联Ajax\

    在实际操作中,用户选择一个省份后,系统会通过Ajax请求获取并显示与之相关的城市列表;接着,当用户选定城市后,再加载相应的县或区级信息。这种联动效果可以极大地提高用户在填写地址或选择地理位置时的效率。 在...

    使用FormData进行Ajax请求上传文件的实例代码

    Servlet 3.0规范中,Servlet API提供了专门处理文件上传的接口和类。具体做法是通过HttpServletRequest对象的getParts()或getPart()方法来获取上传的文件,并可以调用Part对象的write方法将文件写入到服务器的文件...

Global site tag (gtag.js) - Google Analytics