Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/cplusplus/129.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获取不到响应_Django_Ajax_Django Models_Get - Fatal编程技术网

Django模型对象AJAX获取不到响应

Django模型对象AJAX获取不到响应,django,ajax,django-models,get,Django,Ajax,Django Models,Get,我尝试在用户单击时获取具有相同外部对象键(省)的模型对象(市)。但我没有得到任何回应,当我添加url时,我得到一个404 no的省份匹配给定的查询 以下是有问题的模型: class Governorate(models.Model): name=models.CharField(max_length=100) def __str__(self): return self.name class Municipality(models.Model): na

我尝试在用户单击时获取具有相同外部对象键(省)的模型对象(市)。但我没有得到任何回应,当我添加url时,我得到一个404 no的省份匹配给定的查询

以下是有问题的模型:

class Governorate(models.Model):
    name=models.CharField(max_length=100)

    def __str__(self):
        return self.name

class Municipality(models.Model):
    name=models.CharField(max_length=100)
    mun_d=models.TextField()
    gov=models.ForeignKey(Governorate, on_delete=models.PROTECT)
    def __str__(self):
        return self.name

    def get_absolute_url(self):
        return reverse('forums-home', kwargs={'municipality': self.name})
Django视图

def municipality_by_gov(request):

    if request.is_ajax and request.method == 'GET':
        gov_name = request.GET.get('gov_name', False)
        gov = get_object_or_404(Governorate, name=gov_name)
        gov_muns = Municipality.objects.filter(gov=gov)


        data = serializers.serialize('json', gov_muns)

        return JsonResponse(data, safe=False)
Django URL

path('ajax/MunByGov/', municipality_by_gov, name='MunByGov'),
脚本

$('.GovLink').click(function(){
        $('#GovModalLabel').text($(this).data('name'));
        var gov_name=$(this).data('name');           
        $.ajax( 
        { 
            type:"GET", 
            url: "{% url 'MunByGov' %}", 
            datatype: 'json',
            data:{ gov_name: gov_name }, 
        success: function( response ) 
        { 
            var response = JSON.parse(response)[0];

            document.getElementById("text-container").innerHTML = response.fields.name;

            },


                      }) });

问题是:我使用的是jQuery的超薄构建,它删除了一些东西,ajax就是其中之一。解决方案:只需下载jQuery的常规(压缩或非压缩)版本,并将其包含在项目中

也就是说用而不是用
显然这是一个常见的陷阱,我希望这能帮助其他人

{gov\u name:gov\u name}
的密钥错误。在浏览器调试工具的网络选项卡或django runserver控制台中查看浏览器发送的请求。您没有发送查询参数
'gov\u name'
Thank You@dirkgroten问题是:我使用的是jQuery的精简版本,它删除了一些内容,ajax就是其中之一。解决方案:只需下载jQuery的常规(压缩或非压缩)版本,并将其包含在您的项目中。这与您在问题中显示的问题无关。如果你不能再现,就关闭你的问题。但是您描述的问题不能是因为ajax不起作用,因为您收到了一个请求。我在将视图链接附加到url栏时收到了请求,但不是作为ajax。我仍然认为这对future很重要,他和我一样,可能会问同样的“错误问题”。也许,但我怀疑这是否有用,因为如果未定义$.ajax,那么执行$.ajax会在控制台中给您带来错误。不过,在您的问题中,
数据
是错误的,因此它无法工作,因为您没有发送带有查询参数“gov_name”的请求。最终请求的url应该是/ajax/MunByGov/?gov\u name=something,而现在不是这样(它是/ajax/NumByGov/?something=something)