2015-08-31 5 views
1

На веб-странице я хочу предоставить некоторые кнопки для выполнения некоторых действий, например, удалить пользователя. Я не хочу создавать одну форму для каждой кнопки, поэтому я думал, что запрос на отправку ajax будет лучшим способом для этого. По какой-то причине URL-адрес не перехватывается контроллером, только если я добавлю имя проекта, тогда он будет работать (например, url: «имя-проекта/пользователей/удалить»). Я, очевидно, не хочу жестко кодировать имя проекта для каждого запроса ajax или не иметь переменную имени проекта. Каким будет правильный способ сделать такой запрос, указав только «/ users/remove» для url/action?Запрос Ajax с Spring MVC и Thymeleaf

function removeUser(userid){  
    var r = confirm("Are you sure you want to delete user '" + userid + "''?"); 

    if (r == true) { 
     $.ajax({ 
      type : "POST", 
      url : "https://stackoverflow.com/users/remove", 
      data : { 
       userid: userid 
      }, 
      success : function(response) { 
       alert("Suceeded!"); 
      }, 
      error : function(e) { 
       alert('Failed!: ' + e); 
      } 
     }); 
    } 
} 

Заранее спасибо Diego

ответ

1

Если вы на точную ссылку на странице, например: webpage.com, и вы хотите, чтобы отправить запрос на webpage.com/users/remove.

Снимите ведущую «/», как это:

url : "users/remove" 

Вы должны отправить запрос, как это, таким образом, это только добавляет к текущему URL, то первый «/» означает, что вы хотите пойти корень, который отличается, например, в eclipse и IntelliJ.

Если вам нужно расширенное решение, вы должны сделать переменную с jsp и c: url.

+0

Спасибо за ваш комментарий. Я определенно не хочу ограничивать мою работу в Интернете, чтобы работать только с правами root. Что касается переменной, это может быть решением, но если контекст знает имя веб-приложения (URL-адрес развертывания), почему я должен его добавлять? До сих пор он отлично работает с формами, когда я делаю что-то вроде: '

' – DiegoSahagun

+0

Вы меня неправильно поняли, это решение сработало для меня: http : //stackoverflow.com/questions/7681202/how-to-perform-equivalent-of-jsps-curl-in-javascript – Fadamaka

+0

Я имел в виду это: оставьте первый вариант «/», и он не станет root. – Fadamaka