Это мой выпускной проект , У меня есть кое-какие знания по серверам.Но я не знаком с JS.Если я не добавлю context-path (я имею в виду имя проекта), он запустится без проблем.Но если я добавлю какой-то контекстный путь, какой-то ajax-запрос вернет 404
.Я попытался отладить (изменить) некоторые js
код.Но, похоже, напрасно.
Я изменил URL 'fLike'
и 'fDislike'
, я добавил '/itnews'
перед URL.
(function (window, undefined) {
var Action = Base.createClass('main.util.Action');
$.extend(Action, {
like: fLike,
dislike: fDislike,
post: fPost
});
function fLike(oConf) {
var that = this;
that.post({
url: '/itnews/like',
data: {newsId: oConf.newsId},
call: oConf.call,
error: oConf.error,
always: oConf.always
});
}
function fDislike(oConf) {
var that = this;
that.post({
url: '/itnews/dislike',
data: {newsId: oConf.newsId},
call: oConf.call,
error: oConf.error,
always: oConf.always
});
}
function fPost(oConf) {
var that = this;
$.ajax({
method: oConf.method || 'POST',
url: oConf.url,
dataType: 'json',
data: oConf.data
}).done(function (oResult) {
var nCode = oResult.code;
nCode === 0 && oConf.call && oConf.call(oResult);
nCode !== 0 && oConf.error && oConf.error(oResult);
}).fail(oConf.error).always(oConf.always);
}
})(window);
Это 'application.yml'
spring:
freemarker:
template-loader-path: classpath:/templates/
cache: false
charset: UTF-8
check-template-location: true
content-type: text/html; charset=utf-8
expose-request-attributes: true
expose-session-attributes: true
request-context-attribute: request
datasource:
url: jdbc:mysql://localhost:3306/news?serverTimezone=GMT&useSSL=false&allowPublicKeyRetrieval=true
driver-class-name: com.mysql.cj.jdbc.Driver
username: root
password: 123456
type: com.alibaba.druid.pool.DruidDataSource
server:
servlet:
context-path: /itnews
port: 8080
Когда я нажимаю 'like'
, возвращается 404 (URL запроса: http://localhost:8080/like
), У него нет имени приложения.Почему?
Я публикую некоторую фотографию об этом:
e1 e2 e404