Django ajax 发送代码
时间: 2023-06-12 08:03:02 浏览: 67
以下是一个简单的 Django ajax 发送示例:
在 HTML 文件中,你需要添加一个按钮或链接,来触发 ajax 请求:
```html
<button id="my-button">发送 Ajax 请求</button>
```
然后,在 JavaScript 文件中,你需要编写一个函数来处理 ajax 请求:
```javascript
function send_ajax() {
// 获取 CSRF token
var csrftoken = Cookies.get('csrftoken');
// 发送 ajax 请求
$.ajax({
url: '/my-ajax-url/',
type: 'POST',
headers: { 'X-CSRFToken': csrftoken },
data: { 'my-data': 'Hello, world!' },
success: function(response) {
console.log(response);
},
error: function(error) {
console.log(error);
}
});
}
// 当按钮被点击时触发 ajax 请求
$('#my-button').click(send_ajax);
```
在 Django 中,你需要在视图函数中处理这个 ajax 请求:
```python
from django.http import JsonResponse
def my_ajax_view(request):
if request.method == 'POST':
my_data = request.POST.get('my-data', '')
# 在这里处理你的逻辑
response_data = { 'result': 'success', 'data': my_data }
return JsonResponse(response_data)
```
最后,你需要在 `urls.py` 文件中添加一个 URL 规则:
```python
from django.urls import path
from .views import my_ajax_view
urlpatterns = [
path('my-ajax-url/', my_ajax_view, name='my_ajax_view'),
]
```
这样,当按钮被点击时,ajax 请求将会发送到 `/my-ajax-url/` URL,并且 `my_ajax_view` 视图函数将会被调用。视图函数将会返回一个 JSON 格式的响应,这个响应将会被 JavaScript 中的 `success` 回调函数处理。