【服务端】

[WebService(Namespace = "http://tempuri.org/")]
[WebServiceBinding(ConformsTo = WsiProfiles.None)]
[ToolboxItem(false)]
[System.Web.Script.Services.ScriptService]
public class Service1 : System.Web.Services.WebService
{
[WebMethod]
public void HelloWorld(string jsonStudent)
{
HttpResponse resp = Context.Response;
string callBack = Context.Request["callback"].ToString();
resp.Clear();
resp.ContentEncoding = new UTF8Encoding(false);
resp.ContentType = "application/json";
resp.Charset = "utf-8";
Student stu = JsonSerializer<Student>.Deserialize(jsonStudent);
resp.Write(callBack+"("+JsonSerializer<Student>.Serialize(stu)+")");
resp.End();
} [WebMethod]
public void Hello(string js)
{
HttpResponse resp = Context.Response;
resp.Clear();
resp.Charset = "utf-8";
string callBack = Context.Request["callback"].ToString();
resp.ContentEncoding = new UTF8Encoding(false);
resp.ContentType = "application/json";
string callBackFun = callBack + "('"+ js +"')";
resp.Write(callBackFun);
resp.End();
}
}

【客户端】

一、完整写法:

$.ajax(
{
url:"http://localhost:3997/Service1.asmx/HelloWorld",
data:"jsonStudent={\"id\":\"1\",\"name\":\"董玮\"}", //最好按照标准写法
contentType:"application/json",
type:"post",
dataType:"jsonp",
success:function(data)
{
alert(data.id+"<===>"+data.name);
}
});

二、简化写法:

$.getJSON("http://localhost:3997/Service1.asmx/Hello?callback=?",{"js":"董玮"},
function(data)
{
alert(data);
},"post");

javascript的跨域调用的更多相关文章

  1. javascript ajax 脚本跨域调用全解析

    javascript ajax 脚本跨域调用全解析 今天终于有点时间研究了一下javsscript ajax 脚本跨域调用的问题,先在网上随便搜了一下找到一些解决的办法,但是都比较复杂.由是转到jqu ...

  2. Javascript实现简单跨域调用

    什么是JSONP? 1.一个众所周知的问题,Ajax直接请求普通文件存在跨域无权限访问的问题,甭管你是静态页面.动态网页.web服务.WCF,只要是跨域请求,一律不准: 2.不过我们又发现,Web页面 ...

  3. 如何通过js跨域调用ASP.NET Web API (请问如何实现在javascript中通过http get的方式跨域调用ASP.NET Web API?)

    客户端js无需任何专门设置,使用通常的ajax调用即可: $.ajax({ url: '跨域URL', type: 'get', dataType: 'json', success: function ...

  4. AJAX跨域调用ASP.NET MVC或者WebAPI服务的解决方案

    问题描述 当跨域(cross domain)调用ASP.NET MVC或者ASP.NET Web API编写的服务时,会发生无法访问的情况. 重现方式 使用模板创建一个最简单的ASP.NET Web ...

  5. js Ajax跨域调用JSON并赋值全局变量

    //跨域调用JSON <script type="text/javascript"> function _callback(obj) { alert(obj); } j ...

  6. 跨域调用webapi

    web端跨域调用webapi   在做Web开发中,常常会遇到跨域的问题,到目前为止,已经有非常多的跨域解决方案. 通过自己的研究以及在网上看了一些大神的博客,写了一个Demo 首先新建一个webap ...

  7. jsonP跨域调用

    -------------------------------------jsonP跨域调用------------------------------------- <div class=&q ...

  8. 关于AJAX跨域调用ASP.NET MVC或者WebAPI服务的问题及解决方案

      作者:陈希章 时间:2014-7-3 问题描述 当跨域(cross domain)调用ASP.NET MVC或者ASP.NET Web API编写的服务时,会发生无法访问的情况. 重现方式 使用模 ...

  9. 实现jquery.ajax及原生的XMLHttpRequest跨域调用WCF服务的方法

    关于ajax跨域调用WCF服务的方法很多,经过我反复的代码测试,认为如下方法是最为简便的,当然也不能说别人的方法是错误的,下面就来上代码,WCF服务定义还是延用上次的,如: namespace Wcf ...

随机推荐

  1. MAX6675操作源码--K型热电偶模数转换器

    #define P_TENB PF4_OUT #define P_TSLK PA3_OUT #define P_TDAT PB2_IN //****************************** ...

  2. delphi实现窗体组建随窗体大小改变而改变

    在网上查了许多资料去论述如何在dephi中去实现组件随窗口大小的变化而变化,然都不尽如人意.有人说用组件的align + anchors 这两个属性去控制,但是我用了之后,让我大惊失色.把anchor ...

  3. 微信开发之c#下获取jssdk的access_token

    获取access_token是调用微信JS接口的基础,只有得到了它才能得到我们需要的jsapi_ticket并生成签名,然后注入配置信息config. 微信官方文档我就不多做介绍,反正我是踩了不少坑. ...

  4. 数据库_mysql多表操作

    多表操作        实际开发中,一个项目通常需要很多张表才能完成.例如:一个商城项目就需要分类表(category).商品表(products).订单表(orders)等多张表.且这些表的数据之间 ...

  5. WebSerervice webapi使用

    WebSerervice  webapi使用 1.传json参数: 2.返回json数据: 3.权限控制: Authorize特性:必须经过认证,请求头必须具有token信息 4.路由: 5.过滤器: ...

  6. day04.2-迭代器

    1. 迭代器协议: 对象必须提供一个next方法,执行该方法要么返回迭代中的下一项,要么就引起一个StopIteration异常,以终止迭代(只能往后走,不能往前退). 2. 可迭代对象:实现了迭代器 ...

  7. IE8引入JavaScript

    错误写法 : <script type="application/javascript"> 正确写法     <script type="text/ja ...

  8. ubuntu和centos 编译安装nginx及常用命令

    转自http://www.cnblogs.com/piscesLoveCc/p/5794926.html 一. ubuntu安装 1. 安装依赖库 安装gcc g++的依赖库 ubuntu平台可以使用 ...

  9. jmeter压力测试值之配置JDBC Connection Configuration(一)

    一.下载mysql jar包 下载mysql jar包 http://dev.mysql.com/downloads/connector/j/ 网盘下载地址:mysql-connector-java- ...

  10. iOS tableview性能优化及分析

    1.最常用的就是cell的重用, 注册重用标识符 每次滑动cell时需要先去缓存池中寻找可循环利用的cell,如果没有则再重新创建cell 2.减少cell中控件的数量 view对象尽量缩减控件的数量 ...