如果Angular从Django服务器接收到的是HTML而不是JSON,原因可能是Django视图返回的是HTML响应,而不是JSON响应。下面是一种解决方法,其中包含了代码示例:
from django.http import JsonResponse
def my_view(request):
data = {'key': 'value'}
return JsonResponse(data)
import { HttpClient } from '@angular/common/http';
export class MyComponent {
constructor(private http: HttpClient) {}
getData() {
this.http.get('http://your-django-server/api/my-view').subscribe(
response => {
console.log(response);
// 处理返回的JSON数据
},
error => {
console.error(error);
// 处理错误
}
);
}
}
在上述代码中,Django视图使用JsonResponse将数据以JSON格式返回给Angular。在Angular中,使用HttpClient模块的get方法发送GET请求,并订阅返回的响应。在订阅函数中,可以处理返回的JSON数据或处理错误。
请确保将上述代码中的URL http://your-django-server/api/my-view
替换为您实际的Django视图URL。