簡體   English   中英

jQuery Ajax在HTTPS上的調用

[英]jQuery Ajax call on HTTPS

我有一個表格,需要三個步驟來填寫。 在上述每個步驟中,您都填寫了一些信息,請單擊“下一步”,然后查看您必須修復的錯誤才能進入下一步,或者如果沒有錯誤,則將您帶到下一步(將“顯示”更改為CSS中的“ block”)。

第一步,它使用$ .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服務器上時,它不起作用。

在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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM