Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/251.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 你能告诉我为什么这个ajax调用没有到达Web服务吗?_Javascript_Php_Jquery_Ajax_Web Services - Fatal编程技术网

Javascript 你能告诉我为什么这个ajax调用没有到达Web服务吗?

Javascript 你能告诉我为什么这个ajax调用没有到达Web服务吗?,javascript,php,jquery,ajax,web-services,Javascript,Php,Jquery,Ajax,Web Services,我们正在尝试使用ajax调用Web服务-身份验证/验证,但到目前为止,它找不到Web服务 每次运行脚本时,都会出现错误 web服务位于不同的web服务器上,而调用它的ajax脚本位于另一台服务器上 但是,它们都位于端口80和同一域上 我已经为此挣扎了两天 脚本如下 提前多谢 <html> <head> <script src="//ajax.googleapis.com/ajax/libs/jquery/1.10.2/jquery.min.js"></s

我们正在尝试使用ajax调用Web服务-身份验证/验证,但到目前为止,它找不到Web服务

每次运行脚本时,都会出现错误

web服务位于不同的web服务器上,而调用它的ajax脚本位于另一台服务器上

但是,它们都位于端口80和同一域上

我已经为此挣扎了两天

脚本如下

提前多谢

<html>
<head>
<script src="//ajax.googleapis.com/ajax/libs/jquery/1.10.2/jquery.min.js"></script>
<script>
$.ajax({
      url:"Authentication/Validate",
     data: { data: JSON.stringify({ LoginName: "jane.doe",Password: "jdoe" }) },
     success: function (data) {
             alert("found!");
             debugger;
             var token = JSON.parse(data);
     },
     error: function(a,b,c) {
       alert(b+"\n"+c)
     },
     dataType:"json"
});
</script>
</head>
<body></body>
</html>



param=data: {"LoginName":"jane.doe","Password":"jdoe"}

Response body: SyntaxError: JSON.parse: Unexpected end of data

一个有效的文件URL应该以file://开头,但是一个文件不会以非常有用的方式回答AJAX响应

您需要并且他们需要提供Web服务的有效URL。类似于http://domain.com/somePath.

见:


你能把url和ip地址一起使用并试一试吗?de success函数中的变量调试器是做什么的?你忘了放;在错误函数中发出警报之后。如果Web服务中出现致命错误,您的ajax请求也可能失败。我也会尝试写完整的URL。你可能应该解释一下你是如何在同一个端口和域上运行两台服务器的?@ricksuggs,et al,我用我认为应该得到的截图更新了上面的帖子。它显示请求和响应头。为了保密,我修改了一些东西。但是,您将看到1.1websecurity2@domain.com:80端口80。我没有看到任何错误。那可能是因为我在脚本上注释掉了警报。看到我遗漏的东西了吗?@Kenny,在获取请求和响应标题方面做得很好。如果你需要持续的帮助,你需要回答所有的问题并发布所有的信息,这样我就不必重复我自己的话。您应该发布http响应代码、请求参数和响应正文。您可以通过firefox开发者工具找到所有这些,请参阅response and params选项卡和“Status Code”标签。它们确实提供了如上所述的有效url。这个url有webservice,但是当我使用ajax调用它时,我得到了错误警报框,没有其他内容。这很可能是你们中的一些人已经指出的,不同的领域,一个用于Web服务,一个用于ajax调用它。这可能就是问题所在。然而,他们继续说这不是问题所在。如果您有一个有效的URL,但在不同的域上,您可以考虑在您的域中运行反向代理服务器,该服务器将重新向远程域发送请求。首先检查跨站点脚本规则是否存在问题。如果您不介意的话,先生,我如何做反向代理?一个简单的例子将非常有用。使用Java和Tomcat,您只需实现一个servlet,该servlet监听请求,执行相同的请求并返回到不同的目标URL(可能使用HttpURLConnection),然后将响应流式传输回客户机。这使您可以通过从服务器跨域来避免浏览器中的跨域限制。请看@Thomas:也许我遗漏了一些重要的内容,但是jQuery中的身份验证/验证URL不被认为是相对于当前页面的吗?因此,如果用户处于启用状态http://example.com/directory/hello,此处的结果URL将是http://example.com/directory/Authentication/Validate?