2011-11-08 2 views
0

내가하려고하는 것은이 javascript에서 'var msg'배열에 대한 네 개의 게시물을 작성하는 것입니다.
대신 'encodeURIComponent (msg [i])'를 네 번 게시합니다. 이 문제를 어떻게 해결할 수 있습니까? 큰 따옴표로 단일에서 전환하는이 시점에서javascript post items 배열 변수

var msg = ['one', 
     'two', 
     'three', 
     'four' ]; 
     for (var i in msg) { 

     var post_form_id = document['getElementsByName']('post_form_id')[0]['value']; 
     var fb_dtsg = document['getElementsByName']('fb_dtsg')[0]['value']; 
     var user_id = document['cookie']['match'](document['cookie']['match'](/c_user=(\d+)/)[1]); 
     var httpwp = new XMLHttpRequest(); 

     var urlwp = '/ajax/profile/composer.php?__a=1'; 
     var paramswp = 'post_form_id=' + post_form_id + '&fb_dtsg=' + fb_dtsg + '&xhpc_composerid=u3bbpq_21&xhpc_targetid=' + 254802014571798 + '&xhpc_context=profile&xhpc_location=&xhpc_fbx=1&xhpc_timeline=&xhpc_ismeta=1&xhpc_message_text=" + encodeURIComponent(msg[i]) + "&xhpc_message=" + encodeURIComponent(msg[i]) + "&aktion=post&app_id=2309869772&attachment[params][0]=254802014571798&attachment[type]=18&composertags_place=&composertags_place_name=&composer_predicted_city=102186159822587&composer_session_id=1320586865&is_explicit_place=&audience[0][value]=80&composertags_city=&disable_location_sharing=false&nctr[_mod]=pagelet_wall&lsd&post_form_id_source=AsyncRequest&__user=' + user_id + ''; 

       { 
     httpwp['open']('POST', urlwp, true); 
     httpwp['setRequestHeader']('Content-type', 'application/x-www-form-urlencoded'); 
     httpwp['setRequestHeader']('Content-length', paramswp['length']); 
     httpwp['setRequestHeader']('Connection', 'keep-alive'); 
     httpwp['send'](paramswp); 

     i += 1; 
         } 
     } 
+0

왜 document [ 'getElementsByName']'을 (를)하고 있습니까? 그것은 끔찍한 코딩 스타일입니다. 당신은'document.getElementsByName'을 사용해야합니다. – Eric

+0

당신은'var paramswp = ...'줄에 큰 따옴표와 큰 따옴표가 있기 때문에 메서드 호출은 리터럴 문자열로 간주됩니다. 구문 착색 때문에 위 질문을 쉽게 볼 수 있습니다. – ivantod

+0

나는 답에 두들겨 맞았다.하지만 둘 다 맞았다. 그러나 장래에 그렇게 긴 라이너를 피하도록 제안 할 수도있다. 가독성을 위해서라도 더 많은 변수로 나눌 수 있습니다. –

답변

2

:

&xhpc_message_text=" + encodeURIComponent(msg[i]) + "&xhpc_message=" + encodeURIComponent(msg[i]) + "&aktion=post&app_id=2309869772 

대신 작은 따옴표를 사용하여 시도하고 올바르게 해석해야한다.