[英]jQuery Ajax call on HTTPS
我有一個表格,需要三個步驟來填寫。 在上述每個步驟中,您都填寫了一些信息,請單擊“下一步”,然后查看您必須修復的錯誤才能進入下一步,或者如果沒有錯誤,則將您帶到下一步(將“顯示”更改為CSS中的“ 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.如果響應的格式不正確,則會出現問題。
contentType: "application/json; charset=utf-8"
在$ .ajax()函數中添加以上代碼
請檢查以上指定點
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.