Ajax为Django - Azure调用500服务器错误

时间:2017-06-01 11:08:18

标签: http azure azure-web-app-service azure-deployment azure-authentication

我有一个azure部署的django网络应用程序,当我点击下一个时,它会逐个显示Instagram嵌入页面。

问题: -

当我打开Azure Active Directory身份验证时,它会加载第一个Instagram嵌入式链接,但是点击下一个应该加载下一个嵌入页面的按钮,它会在控制台上显示一条http 500错误消息并且不会加载页面。

如果我关闭AD身份验证并设置为匿名访问,则下次单击时页面加载时不会出现任何问题。

问题是什么以及如何使用我的身份验证设置加载它们?

修改

我之前得出的结论是,Instagram页面是无法加载的页面背后的问题,但似乎不是问题。

问题在于我在点击下一个按钮时调用的URL。 通过身份验证,应用程序不会指向下一页,但没有任何身份验证,它会成功转到下一页。

请参阅以下我打电话的代码: -

$("#button-next").click(function(e){
    var fin = '';
    $.ajax({
        url: 'mywebsitename.azurewebsites.net/next_details/',
        method: 'GET',
        data: {'link': window.location.href},
        success: function(response) {
            if (response.data != 'no links') {
              $.each(response['data'], function(index, value){
                fin += "//pass"
             });
             $('append-iframes').html(fin);
             window.location.href = '*' + response.name + '/?type=' + response.check_type;
            }
        }
        })
        })

编辑 - 2

// Next_details函数

@csrf_exempt
https://myappname.azurewebsites.net
def next_details(request):
    import pdb; pdb.set_trace()
    check_type = ''.join(findall('type=(.*)', request.POST.get('link', '')))
    data_list = []
    if check_type:
        present_link = request.POST.get('link', '').split('/')[-2]
        if check_type == 'all':
            data = urlopen('https://myappname.azurewebsites.net/get_detailed/').read()
        else:
            data = urlopen('https://myappname.azurewebsites.net/get_detailed_%s/' % check_type).read()
    else:
        check_type= 'all'
        present_link = request.POST.get('link', '').split('/')[-1]
        data = urlopen('https://myappname.azurewebsites.net/get_detailed/').read()
    data_json = json.loads(data)
    qual_data = [dt['id'] for dt in data_json['qual_data'] if dt['name'] == present_link]
    if qual_data:
        present_id = qual_data[0]
        next_acc = [dt['name'] for dt in data_json['qual_data'] if dt['id'] == present_id + 1]
        acc_name = next_acc[0]
        links = Radarly.objects.filter(screen_name=acc_name, status='Active')
        if links:
            for link in links:
                data_list.append({'perma_link': link.permalink, 'name': acc_name})
            data = json.dumps({'data': data_list, 'check_type': check_type})
            return HttpResponse(data, content_type ="application/json")
        else:
            new_data = json.dumps({'data': 'no links'})
            return HttpResponse(new_data, content_type ="application/json")

下面是DOM上显示的错误的屏幕截图。 enter image description here

0 个答案:

没有答案