带参数的url在ajax中不起作用,但可以单独使用

时间:2018-03-14 20:20:40

标签: javascript jquery html ajax

我有这个简单的HTML / Javascript示例代码....

<html>
  <head>
    <meta charset='utf-8' />
    <title>Open Pronto Soccorsi</title>
    <meta name='viewport' content='initial-scale=1,maximum-scale=1,user-scalable=no' />
    <!-- *** References for JQuery ... -->
    <script src="http://code.jquery.com/jquery-3.3.1.min.js"></script>
  </head>
  <body>
    <script>
        var city= "Torino";
        $.ajax({
          url: "http://www.webglobes.org/cesarefortelegram/Telegram/OpenProntoSoccorso/API/getProntoSoccorsoDetailsByMunicipality.php",
          method: "GET",
          data: {municipality: city, distance:0}
        })
        .done(function(output) {
            alert("OK!");
        })
        .fail(function() {
          // handle error response
          alert("KO!");
      })
    </script>
  </body>
</html>

...调用此网址...

http://www.webglobes.org/cesarefortelegram/Telegram/OpenProntoSoccorso/API/getProntoSoccorsoDetailsByMunicipality.php

带参数:

  • 自治市=托里诺
  • 距离= 0

当我尝试执行结果总是&#34; KO&#34;警告但如果我在新的浏览器选项卡中尝试,当我尝试使用我的代码时,我可以在浏览器控制台中看到完整的URL

http://www.webglobes.org/cesarefortelegram/Telegram/OpenProntoSoccorso/API/getProntoSoccorsoDetailsByMunicipality.php?&municipality=Torino&distance=0

一切正常.... ???

任何建议都将受到赞赏

1 个答案:

答案 0 :(得分:0)

您尚未在请求中设置dataType,因此jQuery正在尝试确定数据的格式。这很好,但如果jQuery推断数据是JSON,那么它也试图解析它。如果数据格式不正确,那么你将获得200,但解析将失败并抛出错误。这可能是一个很好的起点。