[英]jQuery Ajax call on HTTPS
我有一个表格,需要三个步骤来填写。 在上述每个步骤中,您都填写了一些信息,请单击“下一步”,然后查看您必须修复的错误才能进入下一步,或者如果没有错误,则将您带到下一步(将“显示”更改为CSS中的“ block”)。
第一步,它使用$ .ajax()调用文件lib / ajax.php ,该文件在JSON中返回一些结果,这对填充表单的其余部分非常重要。 问题是这可以在我的http://my.dev地址上本地运行,但不能在https://something.example.com上运行。
我首先应该在哪里寻找解决方案? 最常见的解决方法是什么?
lib / ajax.php和index.php文件(具有jQuery调用)都在同一个域( https://something.example.com )上,因此我们不在谈论跨域调用。
这是一些代码。
$.ajax({
type: 'GET',
url: 'lib/ajax.php',
async: false,
data: {id: id},
dataType: 'json', // what type of data do we expect back from the server
}).done(function(data){
// do stuff with data
});
和lib / ajax.php
//stuff with db and retrieving row by id
header('Content-type: application/json');
echo json_encode($result);
就是这样。 当我将其放置在实时HTTPS服务器上时,它不起作用。
在https中,我认为您必须将dataType: 'json'
更改为dataType: 'jsonp'
1.检查函数$ .ajax()中给出的url是否正确。
2.此处将数据类型指定为“ JSON”,因此响应必须为“ JSON”。
3.如果响应的格式不正确,则会出现问题。
contentType: "application/json; charset=utf-8"
在$ .ajax()函数中添加以上代码
请检查以上指定点
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.