我有一个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")