【发布时间】:2012-07-17 23:20:35
【问题描述】:
我不确定如何最好地解释这一点,所以请耐心等待。
我在一些 javascript 中有以下内容(使用 jQuery)
$(document).ready(function(){
$("#myForm").submit(function(){
var request = $.ajax({
url: "myPage.php", //sits on localhost
crossDomain: true,
type: "POST",
data: {
var1 : "foo",
var2 : "bar"
}
});
request.done(function(res){
alert("DONE");
});
request.fail(function(jqXHR , textStatus){
alert(textStatus);
});
}
MyPage.php 使用 SoapClient 调用服务。然后返回一些数据。
我可以直接从 webBrowser 调用 MyPage.php 并得到结果(失败,因为没有 POST 数据)。
如果我尝试从 AJAX 调用 MyPage.php 并在我的服务中放置一个断点,我会看到该服务被调用并返回一个值。
但是 request.Fail 总是调用。看起来它只是在服务完成之前直接跳转到那个失败。
我该如何解决这个问题?
【问题讨论】:
-
$.ajax内置了名为success:和error:的属性,您可以将它们用于这些目的。我不确定这是否是问题所在,但可以尝试一下。 -
我的代码中实际上有 ':'。它在另一台没有互联网访问的机器上,所以我必须手动输入这些东西
-
数据之间有冒号:{}这样吗?
-
如果它在一台无法访问互联网的机器上,那么你确定你应该使用跨域吗?
-
Apache 服务器位于本地主机上。测试服务(WCF)位于 localhost:XXXX 所以我需要跨域,对吧?
标签: php jquery wcf cross-domain