【问题标题】:Django ajax response contains cloudflare scriptDjango ajax 响应包含 cloudflare 脚本
【发布时间】:2015-06-27 16:05:30
【问题描述】:

我正在通过开发 Web 应用程序来学习 Django。我已将该站点添加到cloudflare CDN 的免费服务中。经过漫长的学习曲线后,我能够使用 ajax 向 Django 应用程序发送请求,但奇怪的是响应包含来自 cloudflare 的脚本作为其中的一部分嵌入。

示例 ajax 响应:

<html><body>No arguments passed<script type="text/javascript">
//<![CDATA[
try{if (!window.CloudFlare) {var CloudFlare=[{verbose:0,p:0,byc:0,owlid:"cf",bag2:1,mirage2:0,oracle:0,paths:{cloudflare:"/cdn-cgi/nexp/dok3v=1613a3a185/"},atok:"b4c8a1a8481c9535dc367c9b4c8c52ab",petok:"e3070e55a3a1fceb44356d479cfa086f3dd56bbe-1429555139-1800",zone:"mydjango.in",rocket:"0",apps:{}}];CloudFlare.push({"apps":{"ape":"0c86dff90b5e1a63e6c69c775ca3d309"}});!function(a,b){a=document.createElement("script"),b=document.getElementsByTagName("script")[0],a.async=!0,a.src="//ajax.cloudflare.com/cdn-cgi/nexp/dok3v=7e13c32551/cloudflare.min.js",b.parentNode.insertBefore(a,b)}()}}catch(e){};
//]]>
</script>
</body></html>

views.py 代码返回响应:

def send_response(request):
    inpval = request.GET.get('inputval','')
    if not inpval:
        html = "<html><body>No arguments passed</body></html>"
    else:
        html = "<html><body> %s </body></html>" % inpval
    return HttpResponse(html)

谁能帮助我了解如何从 cloudflare 中删除这个额外的脚本?

【问题讨论】:

    标签: ajax django python-2.7 cloudflare


    【解决方案1】:

    好吧,我发现了这个问题,cloudflare 在&lt;/body&gt; 之前添加了自己的&lt;script&gt; 标签。因此,不是使用 html 标签返回结果,而是检索值并在客户端中处理它们。

    例子:

    if not inpval:
            html = "No arguments passed"
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2018-05-06
      • 1970-01-01
      • 2018-03-25
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2013-10-09
      • 1970-01-01
      相关资源
      最近更新 更多