2012-06-14 2 views
0

데이터 문자열을 동적으로 빌드해야합니다. 이것은 param 변수를 문자열로 전달하기 때문에 작동하지 않습니다.

var parameters = "{foo: 'test'}"; 
    $.ajax({ 
     url: 'test.php', 
     data: parameters, 
     type: 'get', 
     dataType: 'json 
    }); 

어떤 아이디어가?

+3

을; 그것에게 물건을 줘. –

답변

1

글쎄, 먼저 매개 변수 변수에 문자열을 할당하지만 객체로 바뀔 것으로 예상합니까?)과 같이 처음부터 개체를 사용 : 당신은 * * 그것에게 문자열을 제공하고

var params = {foo: 'test'}; 
$.ajax({..., data: params, ...}); 
+0

이것은 JSON 인코딩이 아닌 인코딩 된 데이터 URL을 전송합니다. – tobyodavies

+0

@tobyodavies : 아무도 JSON이라고 말하지 않았습니다. 나는 OP가 단지 그들이 원하는 것을 모를 것이라고 확신합니다 :-) – zerkms

+0

감사합니다. 폼 엘리먼트의 값을 값으로 보내고 싶다면 어떻게해야할까요? –

0
var parameters = {foo:'test'}; 
//modify `parameters` dynamicaly 
parameters[bar]='dynamic!'; 
$.ajax({ 
    //... 
    data: (sendJSON?JSON.stringify(parameters):parameters) // sends params either JSON or form encoded 
    //... 
}); 
+0

'JSON.stringify'는 여기에 무의미합니다 – zerkms

+0

여기에 'JSON.stringify'가 필요 없습니다. –

+0

@zerkms 그는 JSON을 받고 있습니다. 나는 그에게 의심의 이익을주고 있습니다. 이제는 두 가지를 모두 보여 줬습니다. – tobyodavies

관련 문제