Django Post请求适用于chrome但不适用于firefox

时间:2013-03-14 12:52:04

标签: javascript django google-chrome firefox post

我有这个项目似乎他工作正常,除了2件事。 当我执行 POST REQUEST 时(在之前的一些ajax调用之后): 优先:我在Chrome版本25.0.1364.172上获得error: [Errno 32] Broken pipe,但一切似乎仍然正常。 在firefox 19.0.2中秒:没有任何反应..它在我的网址中添加csrfmiddlewaretoken并显示200并使用我的javascript操作重新加载页面,但似乎没有在django side。

CODE:

<form class="form-horizontal">
    <div class="control-group">
        <label class="control-label" for="appName">App Name</label>
        <div class="controls">
            <input type="text" id="appName" placeholder="App Name">
        </div>
    </div>
    <div class="control-group">
        <label class="control-label" for="appDescription">App Description</label>
        <div class="controls">
            <textarea id ="appDescription" placeholder="App Description" rows="3"</textarea>
        </div>
    </div>
    <div class="form-actions">
    {% csrf_token %}
    <button type="submit" class="btn btn-primary" name="create" onclick="createCity('create','user')">Create</button>
    </div>
</form>

的javascript:

$.post(url, { city_id : city_id ,type : type, city: cityStr, pois: poisStr, poisdelete: poisDeleteStr, kmz: kmzStr,kmzdelete : kmzDeleteStr,limits : limitsStr, limitsdelete : limitsDeleteStr, area_name : area_nameStr , action : actionStr , imageReplace : imageReplaceStr}, function(data,status) {
    if (data=='city_already_exists')
        alert(data);
    else {
        /*var username=window.location.pathname.split("/");
        window.location = "/"+username[1]+"/smarturbia/cities";*/
        alert(data);
        location.reload();  //otherwise does not work with firefox
    }
});

Django的:

class CreateCityView(LoginRequiredMixin, JSONResponseMixin, CheckTokenMixin, CurrentUserIdMixin, View):

    @method_decorator(csrf_protect)
    def dispatch(self, *args, **kwargs):
        return super(CreateCityView, self).dispatch(*args, **kwargs)

    def post(self, request, *args, **kwargs):
         ...

return self.render_json_response(city_json)

如何使用chrome而不是firefox中的帖子?我应该怎样做才能让它同时发挥作用?

1 个答案:

答案 0 :(得分:0)

通过更改html中的to来修复它..小错误,大问题..