首页 > 解决方案 > 将表单数据作为 json 发送到 angularjs 应用程序

问题描述

有一个网页,在 AngularJS 上构建并登录。

我需要在我的页面上对其进行 iframe,并在网站上自动登录我的用户。查看 angularJS 站点,登录过程正在等待一个 json 对象。

我尝试了几种方法。提交一个数组,在js中创建一个json对象并发送。但没有任何效果。

json 必须如下所示:

{
  'TAKE':{
        'username': 'whatever',
        'password': 'whatever'
    }
}

我最接近的解决方案是通过 js 创建一个 json 并将其与表单一起发送。问题是,在请求中,像 {} 和 '" 这样的符号编码如下:

%22%3A%7B%22

我使用的 JS:

function submitAsJSON(form) {

    var json = "{'TAKE':{'username': 'whatever','password': 'whatever'}}";
    var JSONString = JSON.stringify(json);

    var newForm = "<form method='POST'  action='" + $(form).attr('action') + "'>" +
    "<input name='" + JSONString + "'>" +
    "</form>"
    $(newForm).appendTo('body').submit();
   }

还查看 chrome 中的标题,它正在等待:

content-type: application/json

但我要发送:

Content-Type: application/xml;

如何发送 json 并让用户自动登录?

标签: javascriptphpjqueryangularjsjson

解决方案


检查这是否适合您将表单数据转换为 JSON。
对于自动登录,您必须在服务端处理:

var formData = JSON.stringify($("#theFormID").serializeArray());


推荐阅读