由于刚接触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. 树莓派根分区扩展至整张sd卡

    第一步,安装raspi-config sudo apt-get install raspi-config 第二步,运行raspi-config sudo raspi-config 界面选择,Expan ...

  2. double,float,BigDecimal类型数值的操作

    float四舍五入保留两位小数 /** * float四舍五入保留两位小数 * */ public static float formatDecimal(float n) { return (Math ...

  3. leetcode 四数之和

    这里我们可以考虑将 n 数之和降低为一个数加上 n-1 数之和的问题.依次降低 ,最低是二数之和的问题 ,二数之和问题容易解决.主要在于从 n 到 n-1 的过程需要理解 :下列代码中前几个 if 是 ...

  4. Flutter 底部导航栏bottomNavigationBar

    实现一个底部导航栏,包含3到4个功能标签,点击对应的导航标签可以切换到对应的页面内容,并且页面抬头显示的内容也会跟着改变. 实际上由于手机屏幕大小的限制,底部导航栏的功能标签一般在3到5个左右,如果太 ...

  5. Java工程师学习指南第8部分:分布式系统理论与实践

    本文整理了微信公众号[Java技术江湖]发表和转载过的分布式相关优质文章,想看到更多Java技术文章,就赶紧关注本公众号吧. 细聊分布式ID生成方法 近期面试Java后端的一些感悟 本专栏介绍分布式的 ...

  6. 关于sws安全助手企业政府版的停止维护以及无法购买(官方已公开永久可用免费序列号并将软件开源)

    sws安全助手企业政府版官方公布的永久可用系列号:XGVPP-NMH47-7TTHJ-W3FW7-8HV2C 安装程序官网下载地址:https://swssoftwareshare.gitee.io/ ...

  7. 【计算机视觉】opencv读取多个摄像头

    [计算机视觉]opencv读取多个摄像头 标签(空格分隔): [图像处理] 说明:今天蹭了机器视觉课程,讲到了stereopsis,立体视觉,讲到了关于通过多个摄像头获取object的depth信息的 ...

  8. NDK学习笔记-多线程与生产消费模式

    在做NDK开发的时候,很多情况下都是需要使用多线程的,一方面是提高程序运行效率,另一方面就是防止主线程阻塞 C的多线程 在C语言里,可以通过对于POSIX标准的运用,使得C语言执行多线程 提高程序的执 ...

  9. STM32 MCU一次计算优化和提速

    1.背景 STM32 MCU对25.6Kb数据进行压缩,丢掉每个数据的低4位然后2个字节拼接为1个字节.发现处理耗时竞达1ms以上,于是开始进行优化,最后达到200us的效果,提速5倍以上. 2.优化 ...

  10. vue中页面跳转拦截器的实现方法

    首先对index.js的router进行配置; export default new Router({ routes: [ { path: '/consultancy', name: 'consult ...