JQuery를 사용하여 JSON 요청을 서버로 다시 보내고 있으며 매개 변수 직렬화가 자연에서 일반적인 것 대신 PHP가 예상하는 것으로 하드 코딩 된 것 같습니다. 기본적으로 나는이처럼 보이는 물체가 :브래킷을 사용하지 않고 JQuery 매개 변수 직렬화
{
foo: 1,
bar : [1, 3, 5]
}
을 그리고 그것을 직렬화 :
foo=1&bar[]=1&bar[]=3&bar[]=5
은 그냥 할 수 있도록 어쨌든이 있나요?
foo=1&bar=1&bar=3&bar=5
jQuery는 서버 측 프레임 워크의 일부가 명명 규칙으로 기대하는 것과 관련되어서는 안됩니다. 내 매개 변수를 bar[]
이라고 부르기를 원한다면 내 서버 측 코드에서 기대하는대로 쉽게 이름을 지정할 수 있습니다.
서버 측 프레임 워크에 대괄호가 필요한 경우 param 이름을 일치하도록 변경해야하며 서버 독립적 인 프런트 엔드 라이브러리의 기본값이 아니어야합니다. – mpeters
당신이 주장하는 방법이 어떤면에서 "올바른"것이라면 당신의 주장은 더욱 설득력이있을 것이라고 생각합니다. 분명히 배열 구문을 처리하는 방법을 다루는 RFC 나 표준은 없으며 새로운 기술이 더 유연한 옵션을 선택하는 것처럼 보입니다.당신은 JQuery가 "명명 규칙"에 묶여서는 안되지만 분명히 두 방법 모두를 지원한다고 말하면, 괄호없는 구문은 묶는 것을 말하는 것과 마찬가지로 쉽게 주장 할 수 있습니다. – zombat
jQuery API에는 다음과 같은 내용이 있습니다. jQuery는 동일한 키, 즉 {foo : [ "bar1", "bar2"]}가 '& foo = bar1 & foo = bar2'가되는 여러 값을 직렬화합니다. 제공된 예제에서 대괄호가 표시되지 않는 것을 확인하십시오 ... –