Я пытаюсь загрузить контент в следующий фрагмент. Я подтвердил, что этот фрагмент работает, когда я делаю простое сопоставление с HTML-шаблоном.
<div id="fbtresult" th:if="${not #lists.isEmpty(fbts)}" th:fragment="fbtList">
<h2>Frequent Bought Together List</h2>
<table class="table table-striped">
<tr>
<th>Id</th>
<th>Main Product Id</th>
<th>FBT 1 Product ID </th>
<th>FBT 2 Product ID</th>
<th>BSR</th>
<th>View</th>
</tr>
<tr th:each="fbt : ${fbts}">
<td th:text="${fbt.id}"><a href="/fbt/${fbt.id}">Id</a></td>
<td th:text="${fbt?.mainProduct?.asin}">main product asin</td>
<td th:text="${fbt.sproductFbt1 != null} ? ${fbt.sproductFbt1.asin} : ''">product fbt1 asin</span>
<td th:text="${fbt.sproductFbt2 != null} ? ${fbt.sproductFbt2.asin} : ''">product fbt2 asin</span>
<td th:text="${fbt.bsr}">bsr</td>
<td><a th:href="${ '/fbt/' + fbt.id}">View</a></td>
</tr>
</table>
</div>
Однако я пытаюсь использовать следующий оператор загрузки запроса, который находится в функции щелчка canvasjs. Я подтвердил, что jquery загружается, и консоль будет регистрировать URL-адрес при щелчке диаграммы canvasjs.
click: function (e) {
var asin = /*[[${asin}]]*/ 'null';
var url = "/FBTChartfbtrequest?fbt=2&asin=" + asin + "&collectdate=" + e.dataPoint.x;
console.log(url);
$("#fbtresult").load(url);
},
Однако следующий контроллер не выполняется $ ("# fbtresult"). Load (url); что ясно из журнала.
@GetMapping(value = "/FBTChartfbtrequest")
public String FBTChartfbtrequest(@RequestParam("fbt") String fbt,
@RequestParam("asin") String asin, @RequestParam("collectdate") String collectdate, Model model) {
System.out.println("ZZZZ requestFBTCHar with asin " + asin + " and collectdate " + collectdate);
...
model.addAttribute("fbts", fbtService.findByASINInFBT1andDateRange(asin, convertUtilToSql(date), convertUtilToSql(date)));
....
return "results :: fbtList";
}
Я подтвердил, что могу загрузить новую страницу с помощью / FBTChartfbtrequest? Fbt = 2 & asin = "+ asin +" & collectdate = "+ e.dataPoint.x; URL-адреса при выполнении перенаправления с помощью window.location.href = URL;
my pom.xml
<dependencies>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-data-jpa</artifactId>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-data-rest</artifactId>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-thymeleaf</artifactId>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-web</artifactId>
</dependency>
<dependency>
<groupId>org.webjars</groupId>
<artifactId>bootstrap</artifactId>
<version>3.3.4</version>
</dependency>
<dependency>
<groupId>org.webjars</groupId>
<artifactId>jquery</artifactId>
<version>3.1.0</version>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-devtools</artifactId>
<scope>runtime</scope>
</dependency>
<dependency>
<groupId>mysql</groupId>
<artifactId>mysql-connector-java</artifactId>
<scope>runtime</scope>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-security</artifactId>
</dependency>
<dependency>
<groupId>org.springframework.security</groupId>
<artifactId>spring-security-test</artifactId>
<scope>test</scope>
</dependency>
</dependencies>
http://localhost:8086/FBTMetricsRequest отображается на вкладке сети еще до того, как я нажму на график, и нажатие на график не изменит вид сети.
Есть идеи, почему функция загрузки jquery не вызывает функцию контроллера?