2017-06-28 61 views
1

如果我錯過了一個基本組成部分告訴我。但在谷歌搜索後,我仍然不明白爲什麼Ajax代碼無法正常工作。jQuery的AJAX不能失敗的訪問遠程服務器

我的Java腳本代碼

$(document).ready(function(){ 
 
     $("#tform").submit(function() { 
 
     var varUserName=$("#UserName").val(); 
 
     var varUserEmail=$("#UserEmail").val(); 
 
     var varUserPassword=$("#UserPassword").val(); 
 
     alert("email: " + varUserEmail + " name: " + varUserName + " pass: " + varUserPassword); 
 
     $.ajax({ 
 
     type  : "POST", 
 
     url:"http://mydomain/tesfolder/Insert.php", 
 
     crossDomain: true, 
 
     data  : {UserName : varUserName, UserPassword : varUserPassword,UserEmail:varUserEmail}, 
 
     dataType : 'json', 
 
     success : function(response) { 
 
      //console.error(JSON.stringify(response)); 
 
      alert('Works!'); 
 
     }, 
 
     error: function(xhr, status, error) { 
 
     //alert("Didnt work"); 
 
      //console.error(JSON.stringify(response)); 
 
     } 
 
    
 
    }); 
 
    
 
    }); 
 
     });
<form id="tform"> 
 
       <input class="app-input" type="text" name="UserName" placeholder=" Votre Pseudo" id="UserName"> 
 
       <input class="app-input" type="email" name="UserEmail" placeholder="Votre Email" id="UserEmail"> 
 
       <input class="app-input" type="password" name="UserPassword" placeholder=" Votre Mot de passe" id="UserPassword"> 
 
      <input name="MSubmit" type="submit" value="Submit" id="Msubmit">    
 
      </form>

的PHP代碼工作正常,當我在本地主機上運行。

我也是在PHP代碼

<?php 
 
header("Access-Control-Allow-Origin: *"); 
 
... 
 
?>

在Java腳本的警報表明,形式發送數據的開頭添加以下行。

我會感謝您的幫助。

Adjeiinfo

+1

我會建議在瀏覽器的檢查器中查看有效負載。它也無助於獲取訪問日誌的實時提要,以查看是否正在建立連接。 – Daerik

+0

缺少一個重要的缺點是你不能阻止默認表單提交....你的頁面可能會讓人耳目一新。有關更簡潔的CORS實施,請參閱https://stackoverflow.com/a/9866124/1175966 – charlietfl

回答

0

您的網址是不正確的: 將其更改爲

url:"http://mydomain/tesfolder/Insert.php", 
+0

我可以確認該網址是否正確。在發佈問題時出現錯字。謝謝 – Adjeiinfo

+0

看來你的例子網址後會錯過一個「/」的「http:」,它應該是的「http://」。 –

+0

你是對的,正如我所說的那樣,我的域名真正的代碼確實有,我會編輯這個問題。謝謝 – Adjeiinfo

0

非常感謝你,我錯過了這個

async: false, 

它工作正常