由于刚接触MUI框架,所以在跨域问题上花了一点时间。希望我的方式能帮你少走点弯路(大神就直接过里吧)!

首先,遇到这个问题,各种百度。其中说法最多的是将mui,js文件里的 setHeader('X-Requested-With', 'XMLHttpRequest'); 注释掉。我这里没有将其注释,因为我相信,这个框架出来这么久了,不可能连这个问题都没处理吧(不跨域,自己玩???)。

前端部分代码:

     //mui,js(Mui v3.7.0)
//------注意--------
//1、调试需要在真机环境进行操作;
//2、mui本身是支持跨域访问的(无需纠结跨域问题);
//3、请求API地址不能使用localhost 或者127.0.0.1之类的ip,只能使用实际的IP才能访问。
var reqRootUrl = "http://192.168.1.217";
mui.ajax({
url: reqRootUrl + '/api/UserLogin/QueryAccount',
data: {
AccountName: "***",
Pwd: "***",
Company: "***"
},
dataType: 'json',
type: 'post',
timeout: 30000, //超时时间设置为30秒;
headers: {
'Content-Type': 'application/json',
//"Authorization": "BasicAuth " + _ticket//传递基于“Basic基础认证”令牌
},
beforeSend: function () {
plus.nativeUI.showWaiting("正在请求数据...");//开启加载提示
},
complete: function () {
plus.nativeUI.closeWaiting();//关于加载提示
},
success: function (data) {
//处理成功逻辑
mui.openWindow({
url: 'defaule.html',
id: 'defaule.html',
extras: {
Ticket: data.Ticket//页面传递参数
},
waiting: {
autoShow: true, //自动显示等待框,默认为true
title: '正在登录...' //等待对话框上显示的提示内容
}
});
},
error: function (xhr, type, errorThrown) {
plus.nativeUI.closeWaiting();
var _error = "";
switch (type) {
case "timeout":
_error = "服务器响应超时";
break;
default:
_error = "异常信息:" + xhr.responseText;
break;
}
mui.toast(_error);
}
});

web api代码:

//注意:web api对应的函数不能设置为static类型,否则无法调用(这个算是自己开发过程遇到的一个小细节吧)
[HttpPost]
[EnableCors(origins: "*", headers: "*", methods: "*")]
public responseObj QueryAccount([FromBody]requestObj postJson)
{
responseObj rObj = new responseObj();
//to do logic
return rObj;
}

关于web api跨域的问题,这里不做详细说明,推荐一篇文章(这里已经很明细了)。

本文章会根据自己的开发过程,会做出适当更新。有什么不清楚的,可以直接留言给我。

MUI 跨域请求web api的更多相关文章

  1. $.ajax 跨域请求 Web Api

    WepApi确实方便好用,没有配置文件,一个apicontroller直接可以干活了.但今天用$.ajax跨域请求的时候总是获取不到数据,用fiddler一看确实抓到了数据,但回到$.ajax函数中, ...

  2. jQuery跨域调用Web API

    我曾经发表了一篇关于如何开发Web API的博客,链接地址:http://www.cnblogs.com/guwei4037/p/3603818.html.有朋友说开发是会开发了,但不知道怎么调用啊? ...

  3. angular2jsonp如何跨域请求百度API进行定位

    前提,百度api的申请,不会的可以百度一下,下面是连接 http://lbsyun.baidu.com/index.php?title=webapi/ip-api 1.appMoudle里引入 imp ...

  4. mui 跨域请求

    <ul class="mui-table-view" style="margin-top: 25px;"> <li class="m ...

  5. asp.net core 创建允许跨域请求的api, cors.

    配置应用方域名. 在webapi中引用cors包,在startup的Configure\ConfigServices中增加启动项配置,在api中增加EnableCors的Attribute属性.即可. ...

  6. MUI跨域请求数据的例子:

                <,                     ,                 success: function(data) {                    ...

  7. jquery实现ajax跨域请求!亲测有效

    在解决跨域的时候,我通常会用豆瓣api作为尝试. 下面是本地跨域请求豆瓣API:亲测有效: <script type="text/javascript"> var ur ...

  8. 基于.Net Framework 4.0 Web API开发(5):ASP.NET Web APIs AJAX 跨域请求解决办法(CORS实现)

    概述:  ASP.NET Web API 的好用使用过的都知道,没有复杂的配置文件,一个简单的ApiController加上需要的Action就能工作.但是在使用API的时候总会遇到跨域请求的问题,特 ...

  9. ASP.NET web api 跨域请求

    1.学习文章:AJAX 跨域请求 - JSONP获取JSON数据 1.asp.net代码 参考文章:http://www.sxt.cn/info-2790-u-756.html (1).增加CorsH ...

随机推荐

  1. mac下更新node版本

    node有一个专门管理node.js版本的包叫作:n: 查看当前 node版本:node -v 安装n工具包:sudo npm i -g n 安装最新版node.js:sudo n stable 安装 ...

  2. Android 显示系统:SurfaceFlinger详解

    一.Android系统启动 Android设备从按下开机键到桌面显示画面,大致过程如下图流程: 开机显示桌面.从桌面点击 App 图标到 Activity显示在屏幕上的过程又是怎样的呢?下面介绍And ...

  3. Maven 引入外部依赖

    pom.xml 的 dependencies 列表列出了我们的项目需要构建的所有外部依赖项. 要添加依赖项,我们一般是先在 src 文件夹下添加 lib 文件夹,然后将你工程需要的 jar 文件复制到 ...

  4. kafka简单学习----遇到的问题

    kafka启动消费者时总是显示disconnected.这是因为 producer client采用2.10.1.0版本,而kafka集群是2.10.0.0版本,不能兼容 解决方法如下:

  5. django项目添加路由----返回给客户端内容-----windows中的python

    django项目添加路由 url函数的第一个参数是匹配url路径的正则表达式,第2个参数是路由函数 第一个正则表达式是r'^$',其中r表示正则表达式字符串不对转义符进行转义.“^”表示匹配URL路径 ...

  6. Caché,Cache数据库连接并查询数据

    1.Caché数据库安装好后,在开始菜单中启动 2.打开管理中心,地址为:http://localhost:57772/csp/sys/UtilHome.csp ,输入用户密码,登录 3.要对表数据进 ...

  7. 小程序签名MD5加密

    最近小程序需求一个签名加密,要把请求参数按键值排序并转化为字符串,然后进行MD5加密. //时间戳 var timestamp = (Date.parse(new Date()))/1000;//签名 ...

  8. Jmeter 逻辑控制器 之 循环控制器

    今天和大家分享下循环控制器的使用. 一.认识循环控制器 如下图:新增一个循环控制器 循环控制器的设置界面: 循环次数:永远和自定义次数,这个应该比较好理解. 二.使用循环控制器 其实大家对Jmeter ...

  9. Docker三

    将本地镜像发布到阿里云 有时候需要共享镜像或者习惯使用自己定义的镜像,可以注册私有仓库,国内推荐使用阿里云 步骤: 1.登录阿里云容器镜像服务:https://cr.console.aliyun.co ...

  10. 阿里云Centos 7.6安装Redis以及开启远程连接

    下载地址:http://redis.io/download,下载最新稳定版本. 本教程使用的最新文档版本为 5.0.5,下载并安装: $ wget http://download.redis.io/r ...