Django - Ajax передача нескольких параметров - PullRequest
1 голос
/ 24 февраля 2020

Я пытаюсь получить более подробную информацию о нажатии кнопки "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'),

...