programing

Angular를 사용하여 쿼리 문자열을 구문 분석하는 가장 좋은 방법html5 모드를 사용하지 않는 JS

showcode 2023. 4. 5. 22:29
반응형

Angular를 사용하여 쿼리 문자열을 구문 분석하는 가장 좋은 방법html5 모드를 사용하지 않는 JS

html5 모드를 사용하지 않고 Angular에서 쿼리 문자열을 해석하는 가장 좋은 방법은 무엇입니까?(구식 브라우저를 지원해야 하므로 html5 모드를 사용하지 않음)

해시를 사용하든 사용하지 않든 동일한 정의되지 않은 결과가 나타납니다.

http://localhost/test?param1=abc&param2=def
http://localhost/test#/param1=abc&param2=def

$routeParams 및 $location.search() 둘 다 정의되지 않은 반환:

var app = angular.module('plunker', ["ngRoute"]);

app.controller('MainCtrl', ["$scope", "$routeParams", "$location",
  function($scope, $routeParams, $location) {

  console.log($routeParams, $routeParams.abc); //undefined, undefined
  console.log($location.search(), $location.search().abc); //undefined, undefined

}]);

window.location을 해석할 수 있습니다.제가 직접 찾아봤는데 Angular에서 더 좋은 방법이 있었으면 좋겠어요.

Plnkr: http://plnkr.co/edit/alBGFAkfqncVyK7iv8Ia?p=preview

나는 이 글을 읽었지만 해결책을 찾지 못했다.내가 뭔가 놓친 게 틀림없어.도와 주셔서 감사해요.

쿼리 파라미터는 해시 뒤에 와야 합니다.

http://localhost/test#/?param1=abc&param2=def

이 경우,$location.search()다음과 같은 개체를 반환합니다.

{
  param1: 'abc',
  param2: 'def'
}

언급URL : https://stackoverflow.com/questions/20692369/best-way-to-parse-a-query-string-with-angularjs-without-using-html5mode

반응형