2016-12-14 10 views
1

Я делаю ajax-вызов веб-службы Slim framework. Это для отправки заметок в мою базу данных.тонкие рамки и ajax. '/' в качестве параметра

Проблема в том, что пользователи могут писать, например, «отправить 1/2 части». Поэтому, когда я делаю вызов, URL-адрес 404 не найден из-за символа '/'.

Есть ли способ избежать этой проблемы?

notes = 'send 1/2 piece' 

$.ajax({ 
      type: 'GET', 
      url: 'http://Myserver/orders/notes/' + MyOrder + '/' + notes, 
      dataType: "json", // data type of response 
      beforeSend: function(xhr, settings){ 
      }, 
      success: function(data){ 
      }, 
      error: function(xhr, status, errorThrown){ 
       errorPopup(errorThrown);      
      }, 
      complete: function(xhr, status){ 
      } 
     }); 
+1

'EncodeURI' /' EncodeURIComponent' –

+0

EncodeURIComponent не работает для меня. Он просто кодирует полный URL-адрес, и все же я получаю 404 –

+0

GET - не лучший метод для отправки произвольных данных. Вместо этого я бы предпочел использовать POST. –

ответ

0

Вам необходимо запустить только EncodeURIComponent против заметок.

Перед вашего АЯКСОМ вызова:

notes = 'We have funny characters in here like /es'; 
encNotes = EncodeURIComponent(notes); 

Затем создайте строку URL-адрес, используя закодированную строку.

url: 'http://Myserver/orders/notes/' + MyOrder + '/' + encNotes, 
+0

Я получаю ту же ошибку: http: // Myserver/orders/notes/PV1600484/send% 201% 2F2% 20piece 404 (не найдено) –

+0

Пожалуйста, разместите код, в котором вы объявляете свой маршрут GET –

Смежные вопросы