我有一个表单需要三个步骤来填充它。 在每个步骤中,您填写一些信息,单击“下一步”,然后查看您必须修复的错误才能进入下一步,或者如果没有错误,则会将您带到下一步(将“显示”更改为CSS中的“阻止”。
在第一步,它使用$ .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服务器上时,它不起作用。
答案 0 :(得分:0)
在https中,我认为您必须将dataType: 'json'
更改为dataType: 'jsonp'
答案 1 :(得分:0)
1.检查函数$ .ajax()中给出的url是否是正确的路径。
2.您将数据类型指定为“JSON”,因此响应必须为“JSON”。
3.如果响应的格式不正确,则会出现问题。
contentType: "application/json; charset=utf-8"
在$ .ajax()函数
中添加上述代码请检查以上指定的要点