所以我有一個AJAX調用,我正在使用POST 1變量到一個PHP腳本我有一個單獨的服務器上。 PHP接受這個變量並根據變量返回數據。這適用於除IE9及以下的所有瀏覽器。 IE9返回數據,但它是一個錯誤,說這個變量是缺少的,這表明它沒有發送數據。下面我有AJAX調用我做:AJAX沒有在IE中發佈數據到PHP
(function (jQ) {
var inviteID = '00000000000';
jQ.ajax({
url: 'www.example.com/test.php',
type: 'POST',
dataType: 'json',
cache: false,
data: { classID: inviteID },
error: function (data, status, error) {
jQ('.statusField').append('Failure: ' + data + status + error);
},
success: function (data, status, error) {
jQ('.statusField').append('Success: ' + data);
}
});
})(jQuery);
而且低於我的影片所使用的PHP腳本:
<?php
//first POST to grab token
function runPost($classID) {
$postdata = array(
'username' => 'username',
'password' => 'password'
);
//open connection
$ch = curl_init();
//set the url, POST data
curl_setopt($ch, CURLOPT_URL, "https://www.example.com/login");
curl_setopt($ch, CURLOPT_POST, 1);
curl_setopt($ch, CURLOPT_POSTFIELDS, json_encode($postdata));
curl_setopt($ch, CURLOPT_USERAGENT, 'example');
curl_setopt($ch, CURLOPT_HTTPHEADER, array('Content-Type: application/json'));
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
//execute post
$result = curl_exec($ch);
//close connection
curl_close($ch);
list($message, $time, $token, $userID) = split(',', $result);
list($one, $two, $three, $four, $five) = split('\"', $token);
$four = json_encode($four);
$four = str_replace('"','',$four);
$secondaryPostData = array(
'token' => $four,
'data' => array('invitationID' => $classID
));
//open connection
$chu = curl_init();
//set the url, POST data
curl_setopt($chu, CURLOPT_URL, "https://www.example.com/classID");
curl_setopt($chu, CURLOPT_POST, 1);
curl_setopt($chu, CURLOPT_POSTFIELDS, json_encode($secondaryPostData));
curl_setopt($chu, CURLOPT_USERAGENT, 'example');
curl_setopt($chu, CURLOPT_HTTPHEADER, array('Content-Type: application/json'));
curl_setopt($chu, CURLOPT_RETURNTRANSFER, 1);
//execute post
$secondResult = curl_exec($chu);
//close connection
curl_close($chu);
return json_encode($secondResult);
}
//Grab classID from javascript
echo runPost(trim($_POST['classID']));
?>
再次,這工作正常一切,除了IE瀏覽器。我嘗試了幾種不同的方法,但是所有的東西都給了我同樣的錯誤IE中的網絡控制檯顯示請求主體確實具有classID,但我猜測它只是沒有將數據發送到PHP腳本。我不知道我是否錯過了IE需要將這些內容發送到PHP腳本的東西,但是對此有任何幫助都會非常感謝。
嘗試使用:data:{'classID':inviteID}, – Julo0sS 2014-09-10 18:33:06
檢查IE網絡控制檯是否從PHP腳本獲取響應。 – James 2014-09-10 18:39:02
圍繞classID添加引號不起作用。這是我從腳本中得到的結果:成功:{「error」:「缺少必需的數據[invitationID]」,「代碼」:400} – 2014-09-10 18:42:51