Urls.py:
from .views import get_data
app_name = 'javascript'
urlpatterns = [
path('', views.index, name='index'),
path('api/data', get_data, name='api-data'),
]
Views.py:
from django.http import JsonResponse
def get_data(request):
dictionary = {'Name':'John'}
return JsonResponse(dictionary)
def index(request):
return render(request, 'javascript/index.html')
的index.html:
<script src="https://ajax.googleapis.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<script>
$.ajax({
method: "GET",
url: "/api/data/",
success: function(dictionary){
console.log(dictionary)
},
error: function(error_data){
console.log("errorrr")
console.log(error_data)
}
})
</script>
使用AJAX,我想在index.html
加载时打印字典内容。但是,由于某种原因,Ajax调用失败。 Console.log输出是:
errorrr
127.0.0.1:8000:30:3
Object { readyState: 4, getResponseHeader: getResponseHeader(), getAllResponseHeaders: getAllResponseHeaders(), setRequestHeader: setRequestHeader(), overrideMimeType: overrideMimeType(), statusCode: statusCode(), abort: abort(), state: state(), always: always(), catch: catch(), … }
我的jQuery是如何编写的?
答案 0 :(得分:0)
将urls.py更改为:
from .views import get_data
app_name = 'javascript'
urlpatterns = [
path('', views.index, name='index'),
path('api/data[/]?$', get_data, name='api-data'),
]
您的AJAX通话是'api/data/'
,与您拥有的path('api/data', get_data, name='api-data')
不符。现在使用'api/data[/]?$'
,它将与最后一个/
匹配。