Что бы вы сделали с URL, который содержит некоторые специальные символы - PullRequest
0 голосов
/ 01 августа 2010

Я использую cakePHP 1.26Я получил поле ввода текста, содержащее URL, и я хочу отправить URL и сохранить его в базе данных с помощью Jquery AJAX.

Вот часть HTML:

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

Это часть JQuery:

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

Это код действия в контроллере:

function grab($w=null){
   if($w!=null){
     return $w;
    }
}

Код сработал, и я увидел всплывающее сообщение с предупреждением, но оно показало: https://stackoverflow.com/
вместоhttps://stackoverflow.com/questions/ask

Я пытался использовать escape (whatContent) и encodeURI (whatContent), но они не могли помочь,окно оповещения все еще показывало https://stackoverflow.com/
вместоhttps://stackoverflow.com/questions/ask

Я не уверен, как поступить с данными URL, содержащими некоторые специальные символы.

Ответы [ 3 ]

3 голосов
/ 01 августа 2010

Кажется забавным сделать запрос POST, но добавить данные в URL.Либо пользователь GET, и escape(whatContent), либо использовать POST, и передать whatContent в качестве параметра данных.

1 голос
/ 02 августа 2010

Может быть, debug($w) в вашем контроллере может что-то раскрыть.Каковы выходные данные, отличные от адреса, который является вашей целью?

1 голос
/ 01 августа 2010

Разве вам не нужно заходить в SO, чтобы задать вопрос?Было бы разумно, чтобы SO просто перенаправлял ваш запрос на главную страницу.

...