2017-06-28 62 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, 

它工作正常