2013-07-17 1 views
0

내가 보내거나 오류가 특정 방식으로, 여기서 확실하지, 검색하는 것을 시도하고 원하는 JSON에게 길을받지 :</p> 다음 <p>는 JSON.stringify (테스트)를 사용할 때 보는 방법입니다 ... 내가

{"1":"<div class=\"test\">test1</div>","2":"<div class=\"test\">test2</div>","1":"<div class=\"test\">test1</div>"} 

하지만 내 아약스/JSON 반환은 다음과 같습니다

["'1':'<div class='test'>test1</div>'","'2':'<div class='test'>test2</div>'","'3':'<div class='test'>test3</div>'"] 

나는 처음에 중괄호 필요 "가하지

.

다음은 데이터를 보내고받는 방법입니다.

test.php

$test = array(); 

$test[] = array('id' => '1', 'name' => 'test1'); 
$test[] = array('id' => '2', 'name' => 'test2'); 
$test[] = array('id' => '3', 'name' => 'test3'); 

echo json_encode($test); 

그리고 그것을 검색하는 자바 스크립트 :

var mytest = []; 

$.getJSON('test.php', function(data){ 

    $.each(data, function (i, val) { 
     mytest.push("'"+val.id+"':'<div class='test'>"+val.name+"</div>'"); 
    }); 

    alert(JSON.stringify(mytest)); 

}); 

정말 도움을 기대하고 ... 난 붙어입니다. 미리 감사드립니다 :-)

+2

배열을 만들고 '{'로 시작하겠습니까? 그것은 단순히 일어나지 않을 것입니다. 배열은 자바 스크립트에서'['로 시작합니다. –

+0

그래서 내가 성취하려는 일은 할 수 없습니까? – Mansa

+0

그것은 할 수있다, 그것은 단지 배열로서 매우 유용하지 않을 것이다. 배열을 원한다면, 여러분은 이미 여러분이 이미'데이터 '에 가지고있는 것을 그대로 유지해야합니다. –

답변

1

그것을 정의 할 이유가 없기 때문에

var mytest = {}; 
$.each(data, function (i, val) { 
    mytest[val.id] = "<div class='test'>"+val.name+"</div>"; 
}) 

참고, 내가 의도적으로 아약스 콜백에 var mytest 이동 결과 대신 객체 대신 결과의 배열 ... []을 사용하는 대신 {}을 사용하고 .push를 사용하는 대신 mytest["1"] = whatever과 함께 객체의 속성을 직접 지정해야합니다. 코드의 수정 된 형태는 다음과 같습니다.

var mytest = {}; 

$.getJSON('test.php', function(data){ 

    $.each(data, function (i, val) { 
     mytest[val.id] = '<div class="test">'+val.name+'</div>'; 
    }); 

    alert(JSON.stringify(mytest)); 

}); 
+0

그냥 완벽 ... 그냥 내가 뭘 찾고 있었는지 ;-) – Mansa

2

배열을 사용하고 있습니다. 케빈이 지적했듯이, 그것은 작동하지 않을 것입니다. 키 값 쌍이 필요한 객체 리터럴을 선언해야합니다.

var myTest = {}; 

$.each(data, function (i, val) { 
    mytest[i] = val; 
}); 

즉 이것은 좋은 더 자세한 설명입니다. How can I add a key/value pair to a JavaScript object?

1

아마도 당신이 정말로 원하는 것은 단지 대상 일 것입니다. 당신이 만드는 자바 스크립트 코드에서 (이 콜백의 사용 가능한 외부되지 않습니다) 외부

관련 문제