2013-04-16 91 views
0

我试图执行一些计算使用下面的代码中显示的网址,每次运行错误代码alert():functiom被调用。 PLs帮助为什么ajax请求失败?

$("#button").click(function(){ 
    $("#form1").validationEngine(); 
    if($('div input[type=text]').val() != "") { 
     var textfield2=document.getElementById("textfield2").value; 
     var textarea=document.getElementById("textarea").value; 
     var dataS=$("#form1").serialize(); 
     $.ajax({ 
      type: "POST", 
      url: "http://some_site/ppp.php", 
      data:dataS, 
      crossDomain: true, 
      success: function(){ 
       $("#result").empty().html("<h2>Your request has been received </h2>"); 
      }, 
      error: function(){       
       alert(dataS); 
      } 
     }); 
    } 
    return false; 
}); 
+1

是您在发出请求的页面所在的域上发出请求的网址? –

+2

我的猜测是失败,因为它是一个跨域请求,跨域服务器没有实现CORS。 –

+0

@JohnBoker我不这么认为,请参阅'crossDomain:true'? –

回答

0

我不会介入跨域POST。我发现CORS在所有浏览器中都可靠地工作是非常困难的。有些浏览器会发送请求,但忽略结果,有些浏览器甚至不会发送请求,有些浏览器会正常工作。

相反,请考虑在同一个域上使用PHP代理,或者使用GET与JSONP来发送请求。