【问题标题】:jQuery Ajax call on HTTPSHTTPS 上的 jQuery Ajax 调用
【发布时间】:2014-09-15 22:57:16
【问题描述】:

我有一个需要三个步骤才能填写的表格。 在每个步骤中,您填写一些信息,单击“下一步”,然后查看您必须修复的错误才能进入下一步,或者如果没有错误,它会将您带到下一步(将“显示”更改为CSS 中的“块”)。

第一步,它使用 $.ajax() 来调用文件 lib/ajax.php,该文件以 JSON 格式返回一些结果,这对于填写表单的其余部分非常重要。 问题是这在我的http://my.dev 地址本地有效,但在https://something.example.com 上无效。

我应该首先尝试从哪里着手?对此最常见的解决方法是什么?

lib/ajax.phpindex.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 服务器上时它不起作用。

【问题讨论】:

  • 你能发布一些代码参考吗?
  • 或者至少在 $.post 函数中显示您正在使用的链接?
  • 添加了一些代码人员。
  • “不工作”到底是什么意思? ajax 请求是否会被触发,您是否收到带有 HTTP 代码的服务器响应?或者它甚至不发送ajax请求?
  • 如果.done() 不起作用 - 从.fail(function( jqXHR, textStatus, errorThrown ) {}) 登录控制台

标签: javascript php jquery ajax https


【解决方案1】:

在 https 我认为你必须将 dataType: 'json' 更改为 dataType: 'jsonp'

【讨论】:

  • 只有跨域调用 afaik 才需要。但提问者想调用同域来源的 URI。
  • 感谢您的贡献。我刚刚尝试过,但不幸的是它不起作用。
【解决方案2】:

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

2.这里你指定的数据类型为“JSON”,所以响应必须是“JSON”。

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

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

在$.ajax()函数中添加上述代码

请检查以上指定点

【讨论】:

  • 1.它是相对的,适用于本地主机,它是 lib/ajax.php; 2. 是的。 3.它是JSON。总是这样,即使发生错误,它也会返回 json 中的错误。
  • 检查回复并在此处发布回复,然后我可以清楚地告诉您,如果您遇到任何错误,也可以发布该错误。
  • 脚本无法通过.done() 方法。但是,它会在应该运行 ajax 调用之前显示alert('something')。那我怎样才能得到响应/错误呢?
  • $.ajax({ type: 'GET', url: 'lib/ajax.php', async: false, data: {id: id}, 试试这个而不是 .done() dataType : 'json', // 我们期望从成功返回什么类型的数据:function(data){ alert("Return OK"); }, error: function(xhr, ajaxOptions, throwedError){ alert('ERROR = ' + xhr.status + ' - ' + throwedError); } });
  • 是的,它返回了帮助我的错误。非常感谢你帮助我,Udhay。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2015-06-12
  • 2014-03-31
  • 1970-01-01
  • 2013-12-30
  • 2012-06-17
  • 2011-06-29
  • 1970-01-01
相关资源
最近更新 更多