在HTTPS上调用jQuery Ajax

时间:2014-07-24 11:47:35

标签: javascript php jquery ajax https

我有一个表单需要三个步骤来填充它。 在每个步骤中,您填写一些信息,单击“下一步”,然后查看您必须修复的错误才能进入下一步,或者如果没有错误,则会将您带到下一步(将“显示”更改为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服务器上时,它不起作用。

2 个答案:

答案 0 :(得分:0)

在https中,我认为您必须将dataType: 'json'更改为dataType: 'jsonp'

答案 1 :(得分:0)

1.检查函数$ .ajax()中给出的url是否是正确的路径。

2.您将数据类型指定为“JSON”,因此响应必须为“JSON”。

3.如果响应的格式不正确,则会出现问题。

  contentType: "application/json; charset=utf-8"

在$ .ajax()函数

中添加上述代码

请检查以上指定的要点