2013-09-08 2 views
0

이전에 AJAX 요청을 페이지에 유일하고 유일한 항목으로 작성했습니다 (예 : 한 번에 투표 할 수있는 이미지 투표와 한 번에 하나의 이미지 만 투표 할 수 있음). image_id은 이전에 db에서 가져온 것).페이지에 반복적 인 항목에 대해 ajax POST 요청을 작성하려면 어떻게해야합니까?

그러나 나는 그런 페이지에 주석으로 고유하지 않은 개체에 대한 보안 아약스 게시물, 만드는 방법 :

<span>Comment 1</span> 
<span>Comment 2</span> 

각 페이지는 여러 의견이 있습니다, 당신은 예를 들어, 각 주석에게 투표 할 수 있습니다 . 사용자가 '투표'버튼을 클릭하면 AJAX & PHP에 어떤 의견의 투표 버튼이 클릭되었는지 어떻게 알 수 있습니까?

이 예는 stackoverflow의 투표 시스템입니다. 투표 한 의견을 어떻게 알 수 있습니까?

+0

:

onclick='ajaxrequestfunction(this.value)' 

그런 다음 함수에서 변수를 잡아? AJAX를 통해 제출하려는 양식의 HTML 마크 업을 작성하지 마시고 우리가 도와 드리겠습니다. 모든 폼 요소를 하나의 제출 가능한 데이터 스트림으로 연결할 수있는 jQuery의'.serialize()'메소드를 확실히 조사해야한다. – DevlshOne

답변

0

글쎄, StackOverflow 주석 시스템의 예를 들어; 댓글이 data-commentid의 데이터 속성을 가지고

<tr id="comment-27519352" class="comment" data-commentid="27519352"> 
    <td></td> 
    <td class="comment-text"><div><span class="comment-copy"> 
     ... 
    </div></form></td> 
</tr> 

참고 : 여기에 코멘트에서 일부 샘플 마크 업입니다. 이것은 (아마도 JSON 객체의 일부로) AJAX 요청의 일부로 서버에 전달되므로 서버 측 코드는 upvote를 할당 할 설명을 알고 있습니다. 마찬가지로 주석을 upvote로 연결하는 링크는 tr 내에 있으므로, comment 클래스의 래핑 테이블 행을 찾아서 DOM에 필요한 수정을 할 수 있습니다 (또한 클라이언트 측에서 클릭 한 주석도 파악할 수 있습니다). .

간단히 말해 각 주석에 어떤 종류의 식별자가 있어야 jQuery를 사용하여 어떤 주석을 클릭했는지 확인할 수 있습니다.

+0

나는이 일을 생각하고 있었다. 이 방법으로 생각한 유일한 방법은 보안을 어떻게 보장하는 것입니까? 서버 측의'data-commentid' HTML 코드를 어떻게 변경하면 좋을까요? – ReactingToAngularVues

+0

이 시나리오에서는 필자가 왜 필요한지 알지 못합니다. 어쨌든 내가 원하는 모든 의견에 투표 할 수 있습니다. 정말 다른 의견에 투표하기 위해 마크 업을 변경하려는 경우, 왜 저를 막으시겠습니까? 그렇지 않으면 다음과 같은 두 가지 옵션이 있습니다. (1) 서버 쪽에서 권한 확인을 수행하여이 주석에 투표 할 수 있도록하십시오. 또는 (2) 각 코멘트에 대한 별개의 키/소금에 대한 모든 코멘트 ID를 암호화/해시하는 것. –

0

변수를 함수에 전달하십시오. 당신은 체크 박스 또는 라디오를 사용하여 의미

function ajaxrequestfunction(x) { 
whatever you want to do = x; 
} 
관련 문제