我使用jQuery
實現了ajax請求。這是代碼:jQuery ajax適用於Chrome,但不適用於Firefox或Safari
//initialize value, nameValue, emailValue
$.ajax({
url: "getPOST.php",
type: 'POST',
data: {
'id': value,
'name': nameValue,
'email': emailValue
},
success: function(response) {
console.log(response);
}
});
該代碼在Chrome中正常工作,但在Safari和Firefox中失敗。我已經看到了這個問題的一些答案,但他們已經有6年或更久了。有什麼可以解決這個問題?
編輯:失敗我的意思是說,在PHP方面,沒有什麼會在Firefox或Safari上運行時存儲在數據庫中,但它在Chrome中按預期工作。控制檯中沒有錯誤消息。 Safari中的請求顯示爲紅色,並且未發送任何數據。
我檢查在Firefox發佈數據,他們是因爲他們應該的。那裏沒有錯誤。雖然請求被塗成紅色。這是它的外觀。 jQuery方面的錯誤?
我使用此代碼將數據發送到我的服務器,指導用戶對支付寶付款頁面之前。
jQuery代碼。希望我沒有刪除許多大括號。
// JavaScript Document
jQuery(document).ready(function($){
//you can now use $ as your jQuery object.
//real stuff here
$(".submit-link").click(function(e){
var value=$.trim($(".url-submit").val());
if(value.length>0){
value = encodeURIComponent(value);
var nameValue=$.trim($(".name-submit").val());
var emailValue=$.trim($(".email-submit").val());
if(nameValue.length>0){nameValue = encodeURIComponent(nameValue);}
if(emailValue.length>0){emailValue = encodeURIComponent(emailValue);}
$.ajax({
url: "getPOST.php",
type: 'POST',
data: {"id":value,"name":nameValue, "email":emailValue},
success: function(response) {
console.log(response);
}
//go to link in href now
});
}else{
var $urlSubmit = $('.url-submit');
$urlSubmit.addClass('invalid');
setTimeout(function(){
$urlSubmit.removeClass('invalid');
},500);
e.preventDefault();
}
});
//some other stuff
});
當你說失敗時會發生什麼?您所顯示的代碼片段沒有任何問題會導致瀏覽器之間的不一致 –
已添加編輯.. – sanjihan
在瀏覽器中打開它失敗的開發人員工具,並查看控制檯中是否有任何錯誤消息。如果您看到任何內容,請分享它們,因爲它們可以幫助診斷問題。編輯:只是看到你說它在PHP方面失敗。你可以迴應/註銷後變量的樣子。您還可以檢查網絡選項卡以查看發送到服務器的值。 – Dymos