angular.js - angular提交表单的数据格式
我想大声告诉你
我想大声告诉你 2017-05-15 16:52:15
0
4
651

我是这样提交表单的

$http({
    headers: {
        'Content-Type': 'application/x-www-form-urlencoded'
    },
    method: 'POST',
    url: url,
    data: {
        type: 1
    }
})

为什么我的服务器接到的会是这样的东西?

{ '{"type":1}': '' }
我想大声告诉你
我想大声告诉你

모든 응답(4)
左手右手慢动作

문제 해결
이유:
기본적으로 jQuery는 Content-Type: x-www-form-urlencoded 및 친숙한 foo=bar&baz=moe 직렬화를 사용하여 데이터를 전송하지만 AngularJS는 Content-Type: application/json 및 { "foo": "bar를 사용하여 데이터를 전송합니다. ", "baz": "moe" } JSON 직렬화

기본적으로 jQuery는 Content-Type: x-www-form-urlencoded 및 "foo=bar&baz=moe"와 유사한 시퀀스를 사용하여 데이터를 전송하는 반면, AngularJS는 Content-Type: application/json 및 { "foo "를 사용하여 데이터를 전송합니다. : "bar", "baz": "moe" } 이러한 json 시퀀스입니다.

솔루션

으아악
PHPzhong

아마도 jquery 사용에 익숙하실 겁니다.
jquery는 query_string 작업을 캡슐화합니다
이 코드를 각도에 추가하고 예제 이름을 변경하세요

으아악
阿神

1. 사용법을 이해하려면angularjs의 공식 문서를 읽어보세요. $http의 헤더가 조금 다른 것 같습니다.
2. Fiddler 도구를 다운로드하고 요청 헤더 및 매개변수와 같은 정보를 확인합니다.

伊谢尔伦

서버는 $_REQUEST/$_POST를 직접 사용하여 이를 얻을 수 없지만 다음을 사용해야 합니다.
$params = json_decode(file_get_contents('php://input'),true);

제출 데이터를 얻으려면

최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿