2010-08-01 5 views
0

cakePHP를 사용하고 있습니다. 1.26
URL이 포함 된 입력 텍스트 상자가 있는데 URL을 제출하고 Jquery AJAX를 사용하여 데이터베이스에 저장하려고합니다.일부 특수 문자가 포함 된 URL을 어떻게 처리합니까?

function grab($w=null){ 
    if($w!=null){ 
    return $w; 
    } 
} 
:이 컨트롤러의 동작에 대한 코드가

var whatContent=$("#testing").val(); 
     var curl="http://localhost:8080/test/grab/"+whatContent; 
     $.ajax({ 
     type: "POST", 
     url: curl, 
     success: function(data) {  
     alert(data);} 
     }); 

입니다 :

<input type="text" id="testing" value="https://stackoverflow.com/questions/ask"> 

이 JQuery와 부분은 다음과 같습니다


은 HTML 부분입니다

코드가 작동했으며 경고 메시지 팝업이 표시됩니다. 하지만 보여 주었다 : https://stackoverflow.com/
대신
https://stackoverflow.com/questions/ask

내가 탈출 (whatContent), 그리고에 encodeURI (whatContent)를 사용하여 시도,하지만 그들은 도움이되지 수
을 경고 상자가 아직도 나에게 https://stackoverflow.com/을 보여 주었다
대신
https://stackoverflow.com/questions/ask

나는 일부 특수 문자를 포함하는 URL 데이터로 수행하는 방법에 없습니다 확신합니다.

+2

'encodeURIComponent (whatContent)'를하면 어떻게됩니까? –

+0

이것은 아마도 서버 측에서 처리 할 때의 문제 일 것입니다. – Gumbo

+0

도움을 주심에 감사드립니다. 닉과 검보 – user327712

답변

1

아마도 컨트롤러 동작에 debug($w)이 표시 될 수 있습니다. 목표가 아닌 다른 입력의 결과는 무엇입니까?

1

질문을하기 위해 SO에 로그인하지 않았습니까? 그래서 SO가 귀하의 요청을 메인 페이지로 리다이렉트하는 것입니다.

+3

** 당신은 **에 대한 질문을하기 위해 로그인하지 않아도됩니다. 그런 리디렉션은 없습니다. 간단한 테스트, 로그 아웃 및 시도. 게다가, 그는 그에게 어떤 요청도하지 않고 있으며, URL이 될 페이지에 텍스트를 전달하고 있습니다. –

3

POST 요청을 수행하는 것은 재미 있지만, 데이터를 URL에 추가합니다. 사용자가 GET 및 escape(whatContent) 중 하나를 사용하거나 POST를 사용하고 데이터 매개 변수로 whatContent를 전달하십시오.

관련 문제