作为一个几年的程序猿,之前一直是开发功能,维护功能,没有想过从头搭建一个前后端交互的小网站,突然有一天想要搭建一个,于是就开始了自己的挖坑之路 1.前后端交互,比较常用的方式自然要是有ajax方法(毕竟这个非常的普遍),于是乎就写了几个html界面,然后里面增加了一个ajax的方法
//写一个ajax的方法 这个方法调用 一个应用程序 AjaxScript = { WebJYHandler: function (HandType, Project, func) { var result; var async = false; if (typeof (func) == 'function') async = true; Project.HandType = HandType; $.ajax({ url: "../Handler/WebJYHandler.ashx", type: "post", data: Project, dataType: "json", async: async, success: function (data) { if (typeof (func) == 'function') { func(data); } else { result = data; } }, error: function (err) { result = null; } }); return result; }, }2.从上面的方法中也可以看到,调用了后端的一个一般处理程序,于是乎我在后端也新建了一个一般处理程序 ashx,同时还在后端写好了请求的方法
public void ProcessRequest(HttpContext context) { context.Response.ContentType = "text/plain"; string HandType = Convert.ToString(context.Request["HandType"]); switch (HandType) { case "GetAllJY":// GetAllJY(context); break; case "UploadJYCSV":// JyUploadFile(context); break; } }此时信心满满的开始调用了 此时坑来了,一些平时没有搭建过网站的人员可能不熟悉,明明前台的请求没问题,为什么调用不成功呢,老是出现一些跨站请求失败的问题 于是乎开始在网上搜索资料,可搜索前后台调用,很多都是写ajax就可以,不用进行配置,可为什么不行呢,经过web.config的尝试,碰了多次壁之后,终于我忍不住问了下我的一个优秀的同事 然后我得到了解答:需要进行一个iis或者其他方式的配置,让ashx有一个承载
之后我从本地搜索IIS,打开之后会有一个我的网站,新建一个网站,配置上我写文件包的路径,然后配置上端口号。 之后在浏览器使用localhost:端口号请求起始页,调用ashx后正常
可以说是一语点醒,不知道的需要搜索好久,通了就感觉很简单的事情,也就是说ajax从头开始搭建并不是不需要配置,需要配置一下IIS
以上为自己在搭建过程中遇到的坑,希望对大家有所帮助,若有疑问可留言交流
