ServiceStack支持跨域提交

//ServiceStack对浏览器有一定的限制

//修改AppHost.cs文件

using Funq;
using ServiceStack;
using ServiceStackTest.ServiceInterface;

namespace ServiceStackTest
{
public class AppHost : AppHostBase
{
/// <summary>
/// Default constructor.
/// Base constructor requires a name and assembly to locate web service classes.
/// </summary>
public AppHost()
: base("ServiceStackTest", typeof(MyServices).Assembly)
{

}

/// <summary>
/// Application specific configuration
/// This method should initialize any IoC resources utilized by your web service classes.
/// </summary>
/// <param name="container"></param>
public override void Configure(Container container)
{
//Config examples
//this.Plugins.Add(new PostmanFeature());

//支持跨域 方式1
this.Plugins.Add(new CorsFeature());
//相当于使用了默认配置
//CorsFeature(allowedOrigins: "*",allowedMethods: "GET, POST, PUT, DELETE, OPTIONS",allowedHeaders: "Content-Type",allowCredentials: false);
//如果仅仅允许GET和POST的请求支持CORS,则只需要改为:
//Plugins.Add(new CorsFeature(allowedMethods: "GET, POST"));

//对应JsonP 跨域提交 方式2
//this.GlobalResponseFilters.Add((req, res, dto) =>
//{
// var func = req.QueryString.Get("callback");
// if (!func.IsNullOrEmpty())
// {
// res.AddHeader("Content-Type", "text/html");
// res.Write("<script type=‘text/javascript‘>{0}({1});</script>".FormatWith(func, dto.ToJson()));
// res.Close();
// }
//});

//支持跨域 方式3
base.SetConfig(new HostConfig()
{
GlobalResponseHeaders =
{
{ "Access-Control-Allow-Origin", "*" },
{ "Access-Control-Allow-Methods", "GET, POST, PUT, DELETE, OPTIONS" },
{ "Access-Control-Allow-Headers", "Content-Type" },
},
});
}
}
}

时间: 2024-10-22 02:34:34

ServiceStack支持跨域提交的相关文章

html Js跨域提交数据

MVC实现方式: [ActionAllowOrigin][HttpPost]public JsonResult Cooperation() { return json(); } 在方法前面加上[ActionAllowOrigin] 这个方法是自定义的继承自AuthorizeAttribute public class ActionAllowOriginAttribute : AuthorizeAttribute { public override void OnAuthorization(Sys

使用jQuery实现跨域提交表单数据

我们在WEB开发中有时会遇到这种情况,比如要从A网站收集用户信息,提交给B网站处理,这个时候就会涉及到跨域提交数据的问题.本文将给您介绍如何使用jQuery来实现异步跨域提交表单数据. 在jQuery中,我们使用json数据类型,通过getJSON方法来实现从服务端获取或发送数据,而当要向不同远程服务器端提交或者获取数据时,要采用jsonp数据类型.使用这种类型的话,会创建一个查询字符串参数 callback=? ,这个参数会加在请求的URL后面.服务器端应当在JSON数据前加上回调函数名,以便

[jQuery]$.get跨域提交不发送原因

使用 $.ajax({ url: "http://pastebin.com/embed_js.php?i=sy9gt3FR", dataType: "jsonp", success: function (data) { // ... } }); [jQuery]$.get跨域提交不发送原因,布布扣,bubuko.com

让Apache 和nginx支持跨域訪问

1,怎样让Apache支持跨域訪问呢? 步骤: 改动httpd.conf,windows中相应的文件夹是:C:\wamp\bin\apache\Apache2.4.4\conf\httpd.conf 把LoadModule headers_module modules/mod_headers.so 前面的凝视删除 改动 改为: 即: <Directory /> AllowOverride none Require all granted Header set Access-Control-Al

代替jquery $.post 跨域提交数据的N种形式

跨域的N种形式: 1.直接用jquery中$.getJSON进行跨域提交 优点:有返回值,可直接跨域: 缺点:数据量小: 提交方式:仅get (无$.postJSON) $.getJSON("http://www.sendnet.cn/?callback=?" , { UserId: 1001 }, function (data) { alert(data.info); }); $.ajax({ type: "Get", url: "http://www.

如何让你的 Asp.Net Web Api 接口,拥抱支持跨域访问。

由于 web api 项目通常是被做成了一个独立站点,来提供数据,在做web api 项目的时候,不免前端会遇到跨域访问接口的问题. 刚开始没做任何处理,用jsonp的方式调用 web api 接口,总是报一个错误,如下: 如果你想用JSONP来获得跨域的数据,WebAPI本身是不支持javascript的callback的,它返回的JSON是这样的: {"YourSignature":"嫁人要嫁程序员,钱多话少死得早"} 然而,JSONP请求期望得到这样的JSON

jquery Ajax 通过jsonp的方式跨域提交表单

Jquery Ajax可以通过jsonp的方式跨域提交表单,至于什么是跨域提交简单说就是你的客户端和服务端不在同一个域名下或端口号不同也可以叫做跨域. 前台代码: $.ajax({ type : 'get', async: false, url : '${pageContext.request.contextPath}/clue/uploadForm', dataType : 'jsonp', data: { mydata : JSON.stringify(obj,fm), formId : f

让Apache 和nginx支持跨域访问

1,如何让Apache支持跨域访问呢? 步骤: 修改httpd.conf,windows中对应的目录是:C:\wamp\bin\apache\Apache2.4.4\conf\httpd.conf 把LoadModule headers_module modules/mod_headers.so 前面的注释删除 修改 改为: 即: <Directory /> AllowOverride none Require all granted Header set Access-Control-All

C#使用jsonp进行跨域提交表单

跨域提交留言,并返回是否成功! C#服务端: public void FeedBackPost(string name, string email, string tel, string website, string desc, string thisIp, string sourse, string callBack) { try { Response.ContentType = "application/x-javascript"; string str = callBack;