我有一个表单,需要三个步骤来填写它。在这些步骤中,你填写一些信息,点击"下一步",然后看到你必须修复的错误,以便进入下一步,或者如果没有错误,它会带你到下一步(将CSS中的"display"更改为"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。如果响应不是正确的JSON格式,则会产生问题。
contentType: "application/json; charset=utf-8"
将上述代码添加到$.ajax()函数
请检查以上指定点