JavaScript 跨域之POST实现方法

前端之家收集整理的这篇文章主要介绍了JavaScript 跨域之POST实现方法前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。

javascript 跨域是一个很常见的问题,其中 jsonp 是一个最常用的手段,但是 jsonp 只支持 get,不支持 post,所以如果想通过 jsonp 来 post 一些数据,就头大了。

此处通过在一个 iframe 中生成 form 表单的形式来实现 post,并通过 postMessage 来向调用者返回值。

第一步,我们先实现一个接受 jsonp 的后端代码,至于用什么语言实现,各位自已决定。

c#代码是:

"); sbRet.Append(Request["jsoncallback"]); sbRet.Append("({");
  foreach (string k in Request.Form) {
    if (k == "jsoncallback") continue;
    sbRet.Append("'"+k+"':'"+Request.Form[k]+"'");
  }


  sbRet.Append("});");
  sbRet.Append("</script>");

  Response.Write(sbRet.ToString());
  Response.End();
}

比如说你想返回给我的是 { userName:'user1',password:'pass1' } , 当我调用 http://localhost/test?jsoncallback=callme 的时候

你实际返回 即可。

第二步,本地文件夹内构建post测试页面,如 d:\test.html

  

第三步,浏览一下并点击提交,看看返回的如果是 则说明后端程序没有问题了。

第四步,我们写段通用的代码来实现上面的 html.

<Meta http-equiv="Content-Type" content="text/html; charset=utf-8"/> 测试一哈

第五步、安全问题、

内容。 if (callback) callback(e.data); }

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持编程之家。

猜你在找的JavaScript相关文章