Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/ajax/6.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/jsp/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
django ajax发布到意外url_Ajax_Django - Fatal编程技术网

django ajax发布到意外url

django ajax发布到意外url,ajax,django,Ajax,Django,我的建议如下: <script> $(document).ready(function () { $.ajaxSetup({ data: {csrfmiddlewaretoken: '{{ csrf_token }}'} }); $("#submit").submit(function () { var title = $("#title").val();

我的建议如下:

<script>
    $(document).ready(function () {
        $.ajaxSetup({
            data: {csrfmiddlewaretoken: '{{ csrf_token }}'}
        });
        $("#submit").submit(function () {
            var title = $("#title").val();
            var body = $("#body").val();
            var images = $("#browsefile")[0].files[0];

            $.ajax({
                type: "POST",
                data: {title: title, body: body, images: images},
                url: "{% url 'xxxxx' %}",
                success: function (result, statues, xml) {
                    alert(result);
                },
                error: function () {
                    alert("false");
                }
            })
        })
    })
</script>
from django.conf.urls import url
from django.contrib import admin
from django.conf import settings
from django.conf.urls.static import static

from blog import views

urlpatterns = [
    url(regex=r'^add/$', view=views.add, name='bbb'),
    url(regex=r'^newBlog/$', view=views.addblog, name='xxxxx'),
]

urlpatterns += static(settings.MEDIA_URL, document_root=settings.MEDIA_ROOT)

我将ajax数据发布到addblog方法中,但我得到的是
post/add/HTTP/1.1
。任何人都可以告诉我哪里出错了,谢谢

尝试添加
event.preventDefault(),以禁用表单的默认行为,即遵循action属性

$("#submit").submit(function (event) {
        event.preventDefault();
        var title = $("#title").val();
        var body = $("#body").val();
        var images = $("#browsefile")[0].files[0];
        formdata = new FormData();
        formdata.append("images", images);
        formdata.append("body", body);
        formdata.append("title", title);

        $.ajax({
            type: "POST",
            data: formdata,
            url: "{% url 'xxxxx' %}",
            success: function (result, statues, xml) {
                alert(result);
            },
            error: function () {
                alert("false");
            }
        })
        return false;
    })
编辑
每个评论。

您能给我们看一下您的整个
url.py
文件吗?@Algorithmatic好的,我重新编辑了我的url.py文件我在视图中设置了一个断点。当ajax发布数据时,它总是输入add方法,而不是addblog方法。在呈现页面后,您可以检查ajax代码片段中
url
的值吗?您可以通过在浏览器中检查html的源代码来实现这一点。@Algorithmatic我尝试过,页面中的url是url:“/newBlog/”我解决了这个问题。我在post数据中设置了fileobj,这是禁止的。我从中得到了一个解决方案,它告诉我需要创建一个FormData来放入fileobj,并将FormData作为数据发布。