【发布时间】:2017-01-01 04:37:27
【问题描述】:
我正在开发一个 django python web 应用程序。在我的网页中,我通过发送“术语”向我的 API 发送请求,我的 API 应该返回搜索的“内容”字段。
我的内容在我的数据库中包含“xxx 很好”。
这是我在views.py中的代码
def get_RuleStatement(request):
if request.is_ajax():
q = request.GET.get('term', '')
rule_statements = RuleStatement.objects.filter(content__icontains = q )[:1]
results = []
for rule_statement in rule_statements:
rule_statement_json = {}
rule_statement_json['content'] = rule_statement.content
results.append(rule_statement_json)
data = json.dumps(results)
else:
data = 'fail'
mimetype = 'application/json'
return HttpResponse(data, mimetype)
由于某种原因,每当我发送以下请求时:http://website.com/api/get_RuleStatement/?term=xxx
即使我的数据库包含数据“xxx 很好”,它也会返回“失败”。谁能建议我哪里出错了?
【问题讨论】:
-
显然,
request.is_ajax()是假的。 this other question 的答案可能会有所帮助。测试时如何发送请求?它必须有一个特定的标头才能让它看起来是一个 ajax 请求。具体来说,HTTP_X_REQUESTED_WITH 标头必须等于“XMLHttpRequest”。 -
我正在从我的网页发送一个 ajax 请求