【发布时间】:2023-03-08 00:56:02
【问题描述】:
我正在一个简单的网站上使用 python 和 js。 我正在尝试从客户端调用一个方法并获得结果,但无论我做什么 成功功能没有发生。
这是我的 JS
$.ajax({
url: "http://127.0.0.1:8000/api/gtest/",
type: "POST",
data: { information : "You have a very nice website, sir."},
dataType: "json",
success: function(data) {
alert ("post is success");
},
error: function(request,error) {
alert(request.responseText);
alert(error);
}
});
这是我的服务器端代码
def gtest(request):
jsonValidateReturn = simplejson.dumps({"jsonValidateReturn": "ddddd"})
return HttpResponse(jsonValidateReturn, content_type='application/json', mimetype='application/json')
服务器响应调用 - "POST /api/gtest/HTTP/1.1" 200 31
试图在这里解决类似的问题,但没有成功:\ 无论我做什么,都只会调用错误函数。 错误警报始终为空.. 没有实际消息。
我知道这可能是一个小改动,但我找不到。
【问题讨论】:
-
.ajax()调用是从哪里触发的? -
如果我们知道
error回调中的警报内容,您不认为这会有所帮助吗?通常,当您返回200状态但它转到error时,这意味着解析/返回的数据存在问题。 -
你知道gtest是否正在运行吗?
-
.ajax() 是从一个简单的“onclick”函数调用的.. 错误总是空的.. 我知道消息 gtest 正在运行,因为我打印到控制台并打印了..跨度>
-
会不会有跨域问题?如果您从
localhost运行JS 并将请求发送到127.0.0.1,就会出现这种情况。您在request.status中的响应代码是什么?如果是0,表示跨域错误;如果是200,则不是。
标签: javascript python ajax django