【问题标题】:HTTP post request - difference between AngularJS and JQueryHTTP post 请求 - AngularJS 和 JQuery 之间的区别
【发布时间】:2016-04-22 08:40:01
【问题描述】:

AngularJS 和 JQuery 运行的 HTTP POST 请求的真正区别是什么?

AngularJS:

$http.post(requestURL, {'data':myData})

JQuery:

$.post(requestURL,{data : data}

在我的 PHP 后端,我必须运行两种不同的机制来读取数据。 AngularJS 出于某种原因仅适用于

$params = json_decode(file_get_contents('php://input'), true);
$data = $params['data'];

JQuery 符合标准

$data = $_POST['data']

如何修复 AngularJS 以在“正常”$_POST 路径上运行?

两者都因相反的 PHP 策略而失败。

【问题讨论】:

  • 呃.. AngularJS 使用 Web Sockets...:)
  • 您需要修复它吗?为什么不只解析请求表单 JSON 的正文?
  • @Stewart 显然是因为默认情况下它们都不发送 json 并且 OP 询问原因
  • @charlietfl 在您的回答中,您说 angular $http 默认发送 application/json 。 “默认情况下两者都不发送”是什么意思?

标签: javascript php jquery angularjs ionic-framework


【解决方案1】:

区别在于默认内容类型不同。

jQuery $.ajax 使用application/x-www-form-urlencoded

Angular $http 使用application/json

两个 API 都提供切换内容类型的选项。

$http 还具有序列化服务$httpParamSerializerJQLike 来形成编码,相反的情况是使用 JSON.stringify() 为 `$.ajax

【讨论】:

    猜你喜欢
    • 2012-10-24
    • 1970-01-01
    • 2017-08-24
    • 2020-01-08
    • 1970-01-01
    • 2010-09-11
    相关资源
    最近更新 更多