聚合物核心-ajax为什么回调不起作用?

时间:2015-01-03 05:04:37

标签: polymer

这是我的代码:

<!DOCTYPE html>
<html>
<head>
    <script src="/client/polymer-0.5.2/bower_components/webcomponentsjs/webcomponents.min.js"></script>

    <link href="/client/polymer-0.5.2/bower_components/polymer/polymer.html" rel="import">
    <link href="/client/polymer-0.5.2/bower_components/core-ajax/core-ajax.html" rel="import">

</head>
<body>

    <core-ajax id="directorInfoAjax" url="/main.ashx?action=directorInfo" handleAs="text" on-core-response="callback">
        <script>
            Polymer(
            {
                callback: function ()
                {
                    var bp = this.response;
                }
            });
        </script>
    </core-ajax>

    <script>
        document.addEventListener('polymer-ready', function()
        {
            document.querySelector("#directorInfoAjax").go();
        });
    </script>
</body>
</html>

有什么不对?回电不火。

111111111111111111111111111111111111 222222222222222222222222222222222222 333333333333333333333333333333333333

2 个答案:

答案 0 :(得分:1)

据我所知,您没有使用<core-ajax>,因为它应该被使用。

这里有一个<core-ajax>的工作示例:

<!doctype html>
<html>
<head>
  <meta name="viewport" content="width=device-width, minimum-scale=1.0, initial-scale=1.0, user-scalable=yes">
  <title>seed-element Demo</title>
  <script src="https://www.polymer-project.org/components/webcomponentsjs/webcomponents.js"></script>
  <link rel="import" href="https://www.polymer-project.org/components/polymer/polymer.html">
  <link rel="import" href="https://www.polymer-project.org/components/core-elements/core-elements.html">
  <link rel="import" href="https://www.polymer-project.org/components/paper-elements/paper-elements.html">

</head>

<body>

 <core-ajax id="directorInfoAjax" url="http://echo.jsontest.com/key/value" handleAs="text" on-core-response="{{callback}}"></core-ajax>


  <script>
    document.addEventListener('polymer-ready', function() {
      var ajax = document.querySelector("core-ajax");
      ajax.addEventListener("core-response", function(e) {
          alert("I received a response "+ this.response);
          console.log(this.response);
        }
      );
      ajax.go(); // Call its API methods.
    });
  </script>
</body>
</html>

在您的代码中,组件内的Polyymer声明似乎不起作用,即使它起作用,回调函数也需要包含在{{ }}中。

这里有一个Plunker:http://plnkr.co/edit/rOuNPu99D7ROX4ewbLnK?p=preview

我希望它有所帮助,但如果没有,请不要犹豫,要求提供更多信息!

[编辑]我写了一个更简单的例子

答案 1 :(得分:0)

查看以下教程,它可以帮助您找出问题: - http://www.tutorialsavvy.com/2014/07/understanding-polymer-core-ajax-element.html