ASP.NET开发web应用过程中遇到的javascript跨域请求问题

解决方案

不提倡跨域的post请求。

0.jquery中ajax的跨域方案jsonp

.ashx代码

using System;
using System.Collections.Generic;
using System.Linq;
using System.Web; 

namespace KB.DSN.Web.API.Tokens
{
    /// <summary>
    /// Summary description for Get
    /// </summary>
    public class Get : IHttpHandler
    { 

        public void ProcessRequest(HttpContext context)
        {
            setresponsecontext(context);
            var token = KB.DSN.BusinessAccess.UniqueCommunicationCode.GenerateUniqueCommunicationCode(); 

            var outputobject = new
            {
                Head = new Models.KBJsonHeadResponse(),
                Body = new { Token = token }
            }; 

            var outputjsonstring = Newtonsoft.Json.JsonConvert.SerializeObject(outputobject); 

            context.Response.Write(context.Request.QueryString["callback"]+"("+outputjsonstring+")"); 

        } 

        private void setresponsecontext(HttpContext context)
        { 

            context.Response.ContentEncoding = System.Text.Encoding.UTF8;
            context.Response.ContentType = "application/json";
        } 

        public bool IsReusable
        {
            get
            {
                return false;
            }
        }
    }
}

html页面

function getToken_jsonp(){
        $.ajax({ 

    url: "http://192.168.0.111/api/tokens/get.ashx",
          type: "get",
    dataType: "jsonp",
    jsonp: "callback",
    async: false, 

          contentType: "application/json",
          success: function(data){
      //alert("getToken success");
            $("#token").text($.toJSON(data));
            //console.log(data); 

          },
    error:function(){
        alert("getToken fail");
    }
        }); 

      }

以上是小编为您精心准备的的内容,在的博客、问答、公众号、人物、课程等栏目也有的相关内容,欢迎继续使用右上角搜索按钮进行搜索jsonp
, context
, function
, response
, using
, system
, public
, Ajax跨域访问ASP.NET
, javascript跨域请求
javascript跨域问题
,以便于您获取更多的相关知识。

时间: 2024-11-08 19:04:07

ASP.NET开发web应用过程中遇到的javascript跨域请求问题的相关文章

JavaScript跨域请求RESTful Web Service

当我们用js请求RESTful Web Service的时候,通常会出现跨域无法访问的问题,也就是无法正常得到我们要的值.jsonp是个解决问题的方法.但是,我们希望访问RESTful Web Service就像一般的ajax方法一样,不用每个都去搞一个jsonp和callback.这就需要我们在服务端进行一些设置,下面我用一个简单的 Filter来进行说明,其他比较复杂的情况根据自己的需求进行改动. import java.io.IOException; import javax.servle

VS 2017开发ASP.NET Core Web应用过程中发现的一个重大Bug

今天试着用VS 2017去开发一个.net core项目,想着看看.net core的开发和MVC5开发有什么区别,然后从中发现了一个VS2017的Bug. 首先,我们新建项目,ASP.NET Core Web应用程序,如图: 新建好后,我们按照习惯,在controller文件夹上面,点击鼠标右键,添加控制器...,出现了如下界面:   这个对话框什么意思呢?怎么会提示添加依赖项呢?按理来说,我们直接调试运行,项目就跑起来了!!! 先不管他,我们直接点击添加,然后稍等一会儿,等他添加依赖.完成后

js跨域请求的5中解决方式

这篇文章主要介绍了js跨域请求的5中解决方式的相关资料,需要的朋友可以参考下     跨域请求数据解决方案主要有如下解决方法: ? 1 2 3 4 5 JSONP方式 表单POST方式 服务器代理 Html5的XDomainRequest Flash request 分开说明: 一.JSONP: 直观的理解: 就是在客户端动态注册一个函数 function a(data),然后将函数名传到服务器,服务器返回一个a({/*json*/})到客户端运行,这样就调用客户端的 function a(da

js跨域请求的5中解决方式_javascript技巧

跨域请求数据解决方案主要有如下解决方法: JSONP方式 表单POST方式 服务器代理 Html5的XDomainRequest Flash request 分开说明: 一.JSONP: 直观的理解: 就是在客户端动态注册一个函数 function a(data),然后将函数名传到服务器,服务器返回一个a({/*json*/})到客户端运行,这样就调用客户端的 function a(data),从而实现了跨域. 诞生背景: 1.Ajax直接请求普通文件存在跨域无权访问的问题,甭管是静态页面.动态

我在使用VS写asp.net,web应用程序中如何连sql server 接数据库

问题描述 我在使用VS写asp.net,web应用程序中如何连sql server 接数据库 10C 在web程序中我需要连接数据库,使用其中的数据.怎样才能用js与我的sql server2012连接,有没有具体的列子啊!新手求大神解答. 解决方案 用js与数据库连接还是第一次听说,你如果需要执行数据操作是需要后端语言的,Web应用在后台代码中可以用ADO.NET技术来进行数据操作.可以前台js 使用Ajax Post后者Get请求后端接口,后端进行数据库的增删改查.如果是服务器控件直接在事件

asp.net开发类似于qq空间中我的动态,好友动态 的数据库设计

问题描述 asp.net开发类似于qq空间中我的动态,好友动态的数据库设计,比如好友动态中,有好友发表了心情,日志,分享了某某日志,照片,转载了某某日志,心情,相片,好友与某某成为好友关系,好友参加某某活动等 解决方案 解决方案二:该回复于2011-11-07 10:22:51被版主删除解决方案三:首先用户产生了动态,放到动态表feed里,里面有动态的产生者,动态的内容,动态的APPID等.同时,把这条动态的ID放入队列queue里,也就是我们常说的消息队列,队列可以是memory表,可以是me

Swift开发iOS应用过程中的问题和解决记录

Swift开发iOS应用过程中的问题和解决记录 虚拟机里安装OSX+XCode开发环境 用真机的请直接跳过这个部分. 主要是在VitrualBox里安装mac系统和xcode,参考这篇教程,VirtualBox的版本是4.3.18 r96156,OSX版本是10.11 El Capitan,XCode版本是7.1 (7B91b). 经过几天的初步使用,感觉用虚拟机开发iOS基本能够满足要求,i5/8g/ssd的配置目测能达到真机70%的开发效率.主要存在的问题是:1)在宽屏上无法满屏,两边会留有

JavaScript跨域调用、JSONP、CORS与ASP.NET Web API[共8篇]

[第1篇] 同源策略与JSONP 浏览器是访问Internet的工具,也是客户端应用的宿主,它为客户端应用提供一个寄宿和运行的环境.而这里所说的应用,基本是指在浏览器中执行的客户端JavaScript程序.虽然是一种解释性的脚本语言,JavaScript其实是无比强大的,原则上来讲它可以做任何事.但是在能够在JavaScript脚本并不都是值得信赖的,所以浏览器必须对JavaScript的执行作相应的限制,这就是"同源策略(Same Origin Policy)".JavaScript

ASP.net Web API跨域请求安全验证怎么做?

问题描述 如题,javascript 直接访问支持跨域请求的web API 如何做安全验证呢? 解决方案 解决方案二:彻底沉没,顶起!解决方案三:你可以参考几个网站的API,登录成功后,返回一个授权字符串,每次调用API的时候,都需要带此字符串去访问,一定时间后,授权字符串失效,需要重新获取解决方案四:好像我正打开着这方面资料的网页http://blog.csdn.net/hereweare2009/article/details/3968582/解决方案五:参考oauth授权接口解决方案六:两