JavaScript 跨域之POST实现方法 javascript 跨域是一个很常见的问题,其中 jsonp 是一个最常用的手段,但是 jsonp 只支持 get,不支持 post,所以如果想通过 jsonp 来 post 一些数据,就头大了。 此处通过在一个 iframe 中生成 form 表单的形式来实现 post,并通过 postMessage 来向调用者返回值。 第一步,我们先实现一个接受 jsonp 的后端代码,至于用什么语言实现,各位自已决定。 c#代码是: protected void Page_Load(object sender, EventArgs e) { StringBuilder sbRet = new StringBuilder(); sbRet.Append(""); Response.Write(sbRet.ToString()); Response.End(); } 比如说你想返回给我的是 { userName:'user1', password:'pass1' } , 当我调用 http://localhost/test?jsoncallback=callme 的时候 你实际返回 即可。 第二步,本地文件夹内构建post测试页面,如 d:\test.html
     
第三步,浏览一下并点击提交,看看返回的如果是 则说明后端程序没有问题了。 第四步,我们写段通用的代码来实现上面的 html. 测试一哈 第五步、安全问题、 window.onmessage = function(e) { //可通过 e 来判断来源,并做一些安全方面的处理,此处读者自己去研究吧,可以加个 console.log(e) 看看 e 有哪些内容。 if (callback) callback(e.data); } 以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持中文源码网。