如何使用 Jquery ajax ajax跨域post请求数据请求 高德地图的web service

8719人阅读
开发环境: Visual Studio 2005 SP1
部署环境:Windows Server 2008 r2 + IIS 7
1.新建数据源项目CrossDomain
&&& 主要文件如下:
&& 1.Handler.ashx
& 作为jquery跨域请求*.handler的响应,代码如下:
using System.Collections.G
using System.W
using System.Web.S
namespace CrossDomain
/// &summary&
/// $codebehindclassname$ 的摘要说明
/// &/summary&
[WebService(Namespace = &http://tempuri.org/&)]
[WebServiceBinding(ConformsTo = WsiProfiles.BasicProfile1_1)]
public class Handler : IHttpHandler
public void ProcessRequest(HttpContext context)
context.Response.ContentType = &text/plain&;
string callbackMethodName = context.Request.Params[&jsoncallback&];
string currentCity = context.Request[&city&];
currentCity = string.IsNullOrEmpty(currentCity) ? &北京& : &沈阳&;
string result = callbackMethodName + &({/&city/&:& + &/&& + currentCity + &/&, /&dateTime/&:& + &/&& + DateTime.Now + &/&});&;
context.Response.Write(result);
public bool IsReusable
& 2.WebService.asmx
& 作为jquery跨域请求WebService的响应,代码如下:
using System.Collections.G
using System.W
using System.Web.S
namespace CrossDomain
/// &summary&
/// WebService 的摘要说明
/// &/summary&
[WebService(Namespace = &http://tempuri.org/&)]
[WebServiceBinding(ConformsTo = WsiProfiles.BasicProfile1_1)]
[ponentModel.ToolboxItem(false)]
public class WebService : System.Web.Services.WebService
[WebMethod]
public void HelloWorld(string city)
string callbackMethodName = HttpContext.Current.Request.Params[&jsoncallback&] ?? &&;
city = string.IsNullOrEmpty(city) ? &北京& : &沈阳&;
string result = callbackMethodName + &({/&city/&:& + &/&& + city + &/&, /&dateTime/&:& + &/&& + DateTime.Now + &/&});&;
HttpContext.Current.Response.Write(result);
HttpContext.Current.Response.End();
[WebMethod]
public void ws(string name, string time)
HttpRequest Request = HttpContext.Current.R
string callback = Request[&callback&];
HttpResponse Response = HttpContext.Current.R
Response.Write(callback + &({msg:'this is& + name + &jsonp'})&);
Response.End();
& 3.Web.config
需要修改web.config文件,注意webServices
节(这是请求webservice获取数据的关键)
具体如下:
&?xml version=&1.0& encoding=&utf-8&?&
&configuration&
&appSettings/&
&connectionStrings/&
&system.web&
设置 compilation debug=&true& 可将调试符号插入
已编译的页面中。但由于这会
影响性能,因此只在开发过程中将此值
设置为 true。
&compilation debug=&false&&
&/compilation&
通过 &authentication& 节可以配置 ASP.NET 用来
识别进入用户的
安全身份验证模式。
&authentication mode=&Windows& /&
如果在执行请求的过程中出现未处理的错误,
则通过 &customErrors& 节可以配置相应的处理步骤。具体说来,
开发人员通过该节可以配置
要显示的 html 错误页
以代替错误堆栈跟踪。
&customErrors mode=&RemoteOnly& defaultRedirect=&GenericErrorPage.htm&&
&error statusCode=&403& redirect=&NoAccess.htm& /&
&error statusCode=&404& redirect=&FileNotFound.htm& /&
&/customErrors&
&webServices&
&protocols&
&add name=&HttpGet&/&
&add name=&HttpPost&/&
&/protocols&
&/webServices&
&/system.web&
&/configuration&
2.新建跨域请求测试项目CrossDomainRequestTest
主要文件如下:
&1.CrossDomainRequestHandler.htm
跨域请求*.handler获取josn格式数据测试页,代码如下:
&!DOCTYPE html PUBLIC &-//W3C//DTD XHTML 1.0 Transitional//EN& &http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd&&
&html xmlns=&http://www.w3.org/1999/xhtml& &
&title&&/title&
&mce:script type=&text/javascript& language=&javascript& src=&js/jquery-1.4.4.js& mce_src=&js/jquery-1.4.4.js&&&/mce:script&
&mce:script type=&text/javascript& language=&javascript& src=&js/jquery-1.4.4.js& mce_src=&js/jquery-1.4.4.js&&&/mce:script&
&mce:script type=&text/javascript& language=&javascript&&&!--
$(document).ready(function() {
var clientUrl = &http://localhost:4508/Handler.ashx?jsoncallback=?&;
var clientUrl = &http://192.168.120.179:8086/Handler.ashx?jsoncallback=?&
var currentCity = &哈尔滨&;
url: clientUrl,
dataType: &jsonp&,
data : {city : currentCity},
success : OnSuccess,
error : OnError
function OnSuccess(json) {
$(&#data&).html(&城市:& + json.city + &,时间:& + json.dateTime);
function OnError(XMLHttpRequest, textStatus, errorThrown) {
targetDiv = $(&#data&);
if (errorThrown || textStatus == &error& || textStatus == &parsererror& || textStatus == &notmodified&) {
targetDiv.replaceWith(&请求数据时发生错误!&);
if (textStatus == &timeout&) {
targetDiv.replaceWith(&请求数据超时!&);
// --&&/mce:script&
&div id=&data&&&/div&
& 2.CrossDomainRequestWebService.htm
跨域请求WebService *.asmx
获取josn格式数据测试页,代码如下:
&!DOCTYPE html PUBLIC &-//W3C//DTD XHTML 1.0 Transitional//EN& &http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd&&
&html xmlns=&http://www.w3.org/1999/xhtml& &
&title&&/title&
&mce:script type=&text/javascript& language=&javascript& src=&js/jquery-1.4.4.js& mce_src=&js/jquery-1.4.4.js&&&/mce:script&
&mce:script type=&text/javascript& language=&javascript&&&!--
$(document).ready(function() {
var clientUrl = &http://localhost:4508/WebService.asmx/HelloWorld?jsoncallback=?&;
var clientUrl = &http://192.168.120.179:8086/WebService.asmx/HelloWorld?jsoncallback=?&;
var currentCity = &哈尔滨&;
$.getJSON(
clientUrl,
{ city: currentCity },
function(json) {
$(&#data&).html(&城市:& + json.city + &,时间:& + json.dateTime);
function OnSuccess(responseData) {
$(&#data&).html(responseData.city);
function OnError(XMLHttpRequest, textStatus, errorThrown) {
targetDiv = $(&#data&);
if (errorThrown || textStatus == &error& || textStatus == &parsererror& || textStatus == &notmodified&) {
targetDiv.replaceWith(&请求数据时发生错误!&);
if (textStatus == &timeout&) {
targetDiv.replaceWith(&请求数据超时!&);
// --&&/mce:script&
&div id=&data&&&/div&
城市:沈阳,时间: 14:49:37
参考知识库
* 以上用户言论只代表其个人观点,不代表CSDN网站的观点或立场
访问:43721次
排名:千里之外
原创:11篇
转载:12篇
评论:19条
(1)(1)(1)(1)(1)(2)(8)(8)请问怎么使用js或jquery的ajax跨域调用webservice,就是webservice已经部署在iis上了。。。_百度知道JavaScript API | 高德开放平台 | 高德地图API
Android平台
Web服务 & 其他
您现在的位置: >
> 其他服务
道路及道路交叉口查询服务
天气查询服务,提供城市/区县天气预报服务
AMap.RoadInfoSearch道路及道路交叉口查询服务,用与查询道路相关信息。AMap.RoadInfoSearch提供根据道路ID、道路名称查询道路信息,提供交叉路口ID以及交叉路口名称查询交叉口信息等功能。
AMap.RoadInfoSearch(opts:
构造函数,实例化一个道路信息查询实例
setPageSize(pageSize:Number)
设置单页显示结果条数,取值范围为[1-100],超出取值范围按默认值返回
setPageIndex(pageIndex:Number)
设置查询结果页码,取值范围为[1-100],超出取值范围按默认值返回
setCity(city:String)
设置查询城市,多个城市用"|"分割
可选值:cityname(中文|中文全拼)、citycode、adcode
默认值:“全国”
查询成功时触发此事件
查询道路信息时返回,查询交叉口信息时返回
当查询失败时触发此事件
成功状态文字描述
根据查询条件返回道路信息
keywordList
查无此道路时,返回的建议关键字列表
查该城市无此道路时,返回的建议城市列表
成功状态文字描述
根据查询条件返回交叉口信息
keywordList
查无此道路时,返回的建议关键字列表
查该城市无此道路时,返回的建议城市列表
道路id,该id是唯一标识
道路类型文字描述,详细参考
道路中心点坐标
Array.&Array.&&&gt
道路路径坐标集合
道路交叉口ID,ID是道路交叉口唯一标识
道路交叉口经纬度坐标
firstRoadId
交叉口第一条道路ID
firstRoadName
交叉口第一条道路名称
secondRoadId
交叉口第二条道路ID
secondRoadName
交叉口第二条道路名称
城市编码/td>
该城市相关结果数目
AMap. Weather天气查询服务,根据城市名称或区域编码返回城市天气预报信息,包括实时天气信息和4天天气预报。
AMap.Weather (&nbsp)
构造函数,实例化一个天气预报查询实例
当查询成功时触发此事件
当查询实时天气信息时返回,当查询四天预报天气时返回
当查询失败时触发此事件
成功状态说明
天气预报,详见
temperature
实时气温,单位:摄氏度
windDirection
风向,风向编码对应描述
风力,风力编码对应风力级别,单位:级
空气湿度(百分比)
reportTime
数据发布的时间
成功状态文字描述
reportTime
数据发布的时间
天气预报数组,包括当天至第三天的预报数据
天气现象列表
雷阵雨并伴有冰雹
暴雨-大暴雨
大暴雨-特大暴雨
日期,格式为“年-月-日”
dayWeather
白天天气现象,详见天气现象列表
nightWeather
夜间天气现象,详见天气现象列表
dayWindDir
nightWindDir
dayWindPower
nightWindPower
AMap.Geocoder地理编码与逆地理编码类,用于地址描述与坐标之间的转换。用户可以通过自定义回调函数取回并显示。若服务请求失败,系统将返回。
AMap.Geocoder(opts:
构造函数,提供地理编码或逆地理编码功能
GeocoderOptions
城市,地理编码时,设置地址描述所在城市
可选值:城市名(中文或中文全拼)、citycode、adcode;
默认值:“全国”
逆地理编码时,以给定坐标为中心点,单位:米
取值范围:0-3000
默认值:1000
批量查询控制
batch=true为批量查询,batch=false为单点查询,batch=false时即使传入多个点也只返回第一个点结果
extensions
逆地理编码时,返回信息详略
默认值:base,返回基本地址信息;
取值为:all,返回地址信息及附近poi、道路、道路交叉口等信息
getLocation(address:String,callback:function(status:String,result:info/))
根据给定的地址描述进行解析,支持中文、拼音
当status为complete时,result为GeocodeResult;当status为error时,result为错误信息info;当status为no_data时,代表检索返回0结果
setCity(city:String)
地理编码时,设置地址描述所在城市
getAddress(location:|Array.&&,callback:function(status:String,result:info/))
根据给定坐标进行解析
status说明同上
批量逆地理编码时,最多支持20个坐标点,超过20个坐标点,按最大值来处理
当编码执行成功时触发此事件
当编码执行失败时触发此事件
成功状态说明
地理编码结果,仅地理编码返回
地理编码结果数目,仅地理编码返回
成功状态说明
逆地理编码结果,仅逆地理编码返回
成功状态说明
地理编码结果,仅地理编码返回
地理编码结果数目,仅地理编码返回
逆地理编码结果,仅逆地理编码返回
addressComponent
地址组成元素
formattedAddress
格式化地址
规则:地址信息=基本行政区信息+具体信息;
基本行政信息=省+市+区+乡镇
给定地址匹配级别,返回匹配最详细级别
如:“北京市海淀区苏州街”匹配级别为“道路”
addressComponent
地址组成元素
formattedAddress
格式化地址
规则:地址信息=基本行政区信息+具体信息;
基本行政信息=省+市+区+乡镇
当给定坐标为poi时直接返回;非poi时,取离给定坐标最近poi返回
道路信息列表
道路路口列表
兴趣点列表,包含兴趣点基本信息
所在城市编码
所在区域编码
streetNumber
neighborhood
neighborhoodType
所在楼/大厦
buildingType
businessAreas
仅逆地理编码时返回,所属商圈信息
Poi的唯一标识id
该Poi到请求坐标的距离,单位:米
该Poi相对于请求坐标的方向
Poi地址信息
businessArea
Poi所在商圈名称
商圈中心点经纬度
道路离查询点最近距离
道路上离查询点最近的点坐标
与查询点的相对方位
道路离查询点最近距离
与查询点的相对方位
路口经纬度
第一条道路id
first_name
第一条道路名称
第二条道路id
second_name
第二条道路名称
河北、重庆市
上海市黄浦区
上海市黄浦区老西门
陆家浜路1332号南开大厦21层D
道路交叉口
北四环西路辅路/善缘街
上海市黄浦区外马路1588号
公交站台、地铁站
海淀黄庄站A1西北口
人民大道221号迪美购物中心
北京市海淀区北三环西路,联想桥东侧路北,太阳园小区南侧
序号道路等级描述
城市环路/城市快速路
主要道路(城市主干道)
次要道路(城市次干道)
区县内部道路
非导航道路
错误信息说明
INVALID_UESR_KEY
用户key非法或过期
SERVICE_UNAVAILABLE
请求服务不可用
INSUFFICIENT_PRIVILEGES
无权限访问此服务
INVALID_PARAMS
请求参数非法
UNKNOWN_ERROR
(C) 2002- 版权所有 | 京ICP证070711号
感谢您的反馈
通过该反馈,您可以将对高德开放平台产品和文档的意见和建议发送给我们。如需咨询产品使用问题或获取技术支持,请访问
包含屏幕截图
请选择您要反馈的类型
JavaScript APIjQuery ajax跨域问题,本地能否/如何调用百度地图API?_问答_ThinkSAAS
jQuery ajax跨域问题,本地能否/如何调用百度地图API?
jQuery ajax跨域问题,本地能否/如何调用百度地图API?
如题. 最近在学习使用百度地图的api,地址:
我本地建立了一个项目,但是使用jQuery的ajax/get/post发送会产生跨域问题,我也在网上查找了解决方案
jsonp是其中一种,但是这个需要在服务端对header做设置,所以不太可能
后来我用了nodejs的superagent,这个确认能弄下来,但是数据是服务端去请求后再次返回的。
所以我要是使用类似的接口,有没有其他方案? 这类型的接口是不是不能前台直接请求,而是只能后端请求后再返回给前台的吗?
jsonp不用在服务端对header做设置吧
可能你哪儿弄的不对
添加你想要问的问题
PHP开发框架
开发工具/编程工具
服务器环境
ThinkSAAS商业授权:
ThinkSAAS为用户提供有偿个性定制开发服务
ThinkSAAS将为商业授权用户提供二次开发指导和技术支持
让ThinkSAAS更好,把建议拿来。
开发客服微信

我要回帖

更多关于 ajax跨域请求 的文章

 

随机推荐