javascript - 无法从 url 打印参数

标签 javascript python django request

我正在尝试将 js 请求中的 4 个参数读取到 django 应用程序中。这就是我执行 js 请求的方式:

site = "http://127.0.0.1:8000/products/loginfo/" + account + "?userId=" + userId + "&sessionId=" + sessionId + "&url=" + url; 
httpGet(site);

这是 urls.py 中的 URL:

url(r'^loginfo/(?P<siteid>[0-9])/(?P<userdid>)/(?P<sessionid>)/(?P<url>)/$', 'log_info', name='log_info'),

这是views.py中的 View :

def log_info(request,siteid,userdid,sessionid,url):
print  'siteid' + str(siteid)
print 'userid ' + str(userid)
print 'sessionid ' + str(sessionid)
print 'url ' + str(url)
return render_to_response("products/all.html", locals(), context_instance=RequestContext(request))

但是,我的终端上没有打印任何内容,出了什么问题?

最佳答案

问题在于 url.py 中的 url 模式与您输入的网址不匹配。

您可以使用 request.GET dictionary直接读取查询参数。

将此 url 模式更改为

url(r'^loginfo/(?P<siteid>[0-9]+)', 'log_info', name='log_info'),
  • ^loginfo/(?P<siteid>[0-9]+)匹配loginfo后跟任意数量的数字。

这确保了如果 url 有 loginfo/1234它将被重定向到 log_info ,与 1234作为siteid

现在将 View 更改为

def log_info(request,siteid):
    print  'siteid' + str( siteid )

    # Changes made here.

    print 'userid ' + request.GET[userId]
    print 'sessionid ' + request.GET[sessionId]
    print 'url ' + request.GET[url]
    return render_to_response("products/all.html", locals(), context_instance=RequestContext(request))

关于javascript - 无法从 url 打印参数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30929557/

相关文章:

python - 简单嵌套 for 循环中的索引函数不

django - Heroku - 在 Django 应用程序中处理静态文件

javascript - sapui5中手动从XML View 转换为JavaScript View

javascript - 在 JavaScript 中读取/处理 .fit 文件

javascript - 无法在 jquery 窗口中显示评论

python - 关于继承和 super()

python - 检测 Python 循环中的值变化

python - 使用 Django dumpdata 转储一个类类型

django - 如何在 Django REST 框架中使字段在创建时可编辑并在更新时只读

javascript - Chrome 扩展程序 : Resource not available even adding it in web_accessible_resources