PHP 배열을 json 문자열로 변환하고 비동기 웹 요청을 통해 해당 문자열을 전달하고 싶습니다. webrequest가 만들어지면 ... 내가 통과 한 문자열에는 "[Object object]"값이 있습니다. 나는 원하지 않습니다.PHP 연관 배열을 문자열로 변환하는 데 문제가 있습니다.
은 약간 단순화 :
: 나는 마우스 오른쪽 버튼을 클릭하고 뷰 소스 코드를 내가 볼 때 나중에 자바 스크립트에서$positionCounterArray = array("QB"=>1, "RB"=>1);
$positionCounterArrayString = json_encode($positionCounterArray);
...
<script>
var numberOfPlayers = <?php echo $positionCounterArrayString; ?>;
alert(numberOfPlayers);
var query = "./queries/queryForAvailablePlayers.php?playerId="+playerId+"&userId="+id+"&numberOfPlayers="+numberOfPlayers;
</script>
가 직접 위의 코드의 섹션에 해당하는
var numberOfPlayers = {"QB":0,"RB":0};
alert(numberOfPlayers);
나는이 말이 맞는다고 생각합니다 ... alert (numberOfPlayers)는 런타임까지 바인딩되지 않습니다. 그래서 우리는 값을 볼 수 없습니다 : { "QB": 0, "RB": 0} 아직
그러나 실제로 실행하면 내 팝업 경고는 문자열 json 문자열 대신 [Object object]입니다. 기대했다 : { "QB": 0, "RB는"0} 내 쿼리를 보낼 때, 그것은 ./queries/queryForAvailablePlayers.php?playerId=179 & userId를 = 2 &를 전송
전체 문제가 있음 numberOfPlayers = [개체 개체]. 이 쿼리는 이와 같이 잡히고 json_decode ($ _ GET [ 'numberOfPlayers'], true)를 사용하여 연관 배열로 값을 추출하고 결국 내 DB에 대해 쿼리하는 데 사용할 수 없습니다.
이 문제에 대한 도움을 주시면 감사하겠습니다. 감사합니다
내가 혼란 점점 오전 같아요
더해야한다, 그래서 당신의 URL PARAMS을 탈출했다.json_encode 함수가 문자열을 생성했다고 생각했습니다. "값의 JSON 표현을 포함하는 문자열을 반환합니다." 출처 : http://www.php.net/json_encode. 나는 당신이 잠시 후에 말하는 것을 시도 할 것입니다. 하지만 내 희망은 내가 문자열로 전달할 수있는 json_decode jason 형식으로 해당 문자열을 다시 연관 배열로 바꿀 수 있도록 거기에 값을 뽑을 수 있습니다. RB – donsiuch
@don 예, 문자열을 생성합니다. 그러나이 문자열을 소스 코드에 넣으면 코드로 해석되어 생성 된 코드에서 문자열이 아님을 알 수 있어야합니다. – deceze
@donsiuch 정확하게 deceze가 말했듯이, 나는 똑같이 말하려고 했었습니다. –