【发布时间】:2020-08-17 16:58:30
【问题描述】:
我从 url (?site=value) 获取值有问题。当我在 views.py 中有函数时,它可以工作,但现在我将它移到另一个文件中。有人能解决这个问题吗?
functionAjax.py:
def htmlMain(request):
if request.is_ajax and request.method == "POST":
UrlCut = request.GET.get('site','Main')
Messages = NewsMessage.objects.all().order_by('-Data').values()
context = {
"Messags" : Messages
}
return render(request, 'ajax'+UrlCut+'.html', context)
AjaxFunction.js:
$.urlParam = function(name){
var results = new RegExp('[\?&]' + name + '=([^&#]*)').exec(window.location.href);
if (results==null){
return null;
}
else{
return results[1] || 0;
}
}
let tech = ""
if($.urlParam('site') != null)
{
tech = "?site=" + $.urlParam('site');
}
UrlSet = "/get/ajax/validate/MainSite"+tech;
$.ajax({
url: UrlSet,
data: $('#FormSite').serialize(),
type: "POST",
async:false,
success: function(response) {
$("#AjaxChange").replaceWith(response);
},
error: function(data)
{
alert('Bad connection');
console.log(data);
}
});
【问题讨论】:
-
究竟是什么不起作用?您收到的错误信息是什么?你看到的行为是什么?您期望的行为是什么?
-
错字:
request.is_ajax->request.is_ajax(). -
request.GET的值是多少?print(request.GET)的输出是什么? -
我总是获得默认值 - 'Main'。我认为它找不到“网站”。 request.GET['site'] 不起作用,因为 ajax 返回失败。
-
你的网址查询字符串是
?Site=value,还是?site=value?
标签: python django ajax methods get