Я пытаюсь получить более подробную информацию о нажатии кнопки "type =" button "class =" apireq "", определенной в каждой строке, и захватить результат в javascript и показать его в окне, которое я не могу получить данные строки, по которой щелкнули, в jquery. Это говорит о том, что значение переменной не определено. Я хотел POST несколько значений. Это способ сделать это? Нужно ли изменять urls.py
template
<tbody id="collist"></tbody>
</tr>
{% for index, row in s_results.iterrows %}
<tr>
<td> {{ row.colname }} </td> <td> {{ row.dbname }} </td> <td> {{ row.schemaname }} </td> <td> {{ row.tablenm }} </td>
<td> {{ row.coltype }} </td> <td> {{ row.collength }} </td> <td> {{ row.colscale }} </td>
<td> <input type="button" class="apireq"
data-colname="{{row.colname}}"
data-dbname="{{row.dbname}}"
data-schemaname="{{row.schemaname}}"
data-tablenm="{{row.tablenm}}" /> </td>
<tr>
{% endfor %}
</tbody>
js / приложение. js
$('.apireq').click(function () {
var jq_column_name = $("#collist tr").last().attr("data-colname");
alert(jq_column_name);
var jq_dbname = $("#collist tr").last().attr("data-dbname");
var jq_schemaname = $("#collist tr").last().attr("data-schemaname");
var jq_tablenm = $("#collist tr").last().attr("data-tablenm");
$.ajax({
type: "POST",
url: "http://localhost:8000/refresh1/",
contentType: 'application/json; charset=utf-8',
data: { column_name: jq_column_name, db_name: jq_dbname, schema_name: jq_schemaname, table_name: jq_tablenm },
success: function (data) {
alert("success!!");},
error: alert("Failed!!")
});});
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.0/jquery.min.js"></script>
urls.py
path ('refresh ////', views.refresh1, name = 'refresh1'),