【问题标题】:ajax wont change the specified value onSucess callajax 不会更改指定值 onSuccess 调用
【发布时间】:2011-05-13 05:06:10
【问题描述】:

这个项目是托管在 shopify 上的,但我会解释一切是做什么的,所以你不需要知道 shopify 是如何工作的。

这里是我要参考的网站。 (http://www.republicway.myshopify.com/collections/united-states) 关于您在此页面上看到的星星及其只读。

我正在使用名为 (JRating) 的星级评分系统

这是我遇到问题的部分。 正如您在代码中看到的那样,我试图将数据设置为等于从我的本地主机接收到的值 价值确实通过我尝试过警报。但它不会在数据中设置数值。 基本上发生的是通过我提供的页面底部的 jrating 库呈现的获取,然后使用 ajax 我根据发送的 id 设置数据值。 id 确实通过 json 返回了一个值,但由于某种原因它不会工作。我还尝试了常规的 html 来查看评级是否有效。

<div id="spinner" style='display:none;'> <img src="{{ 'spinner.gif' | asset_url  }}"> </div>

    <div class="rating" ></div>
    <script type="text/javascript">
    $(document).ready(function() 
    {

        $.ajax({
            url: 'http://69.231.223.112:8888/shopify/shopifyajax.php?jsoncallback=?',
            type: 'GET',
            data: 'page=collection&id={{ product.id }}', //shopify command displays a number like 11202
            dataType: "json",


            beforeSend: function() 
            {
                $("#spinner").show();
                $(".rating").attr("data", '0');

            },
            complete: function() 
            {
                $("#spinner").hide();
            },
            success: function(result) 
            {
                    var value = parseInt(result.rvalue);
                    $(".rating").attr("data", value);

            },

        });

    });

    </script>

【问题讨论】:

  • 你能不能 console.log var value = parseInt(result.rvalue); firebug 中的值并查看输出
  • 我得到 10 和 0。第一个产品为 10,第二个产品为 0。这确实有效,我已经用警报测试过了。

标签: jquery ajax shopify


【解决方案1】:

这个网站(从你想要的 JSON 格式)是否在你的主机上?据我所知-禁止跨域请求..您可以对您的请求使用代理之类的东西-从 PHP 获取页面(file_get_contents 或其他函数)并对内容所在的文件(proxy.php 或其他)执行您的请求存储。

【讨论】:

  • 我可以使用 jsonrequest 进行跨域请求吗?这就是为什么它在那里。该网站存储在 shopify.com 上,我无法在其中使用 php。它是您只能使用他们的模板系统并通过 ajax 提取和发送数据的站点之一。它检索的地方是我的本地主机。
  • ps:我收到了我请求的值。我可以输入 alert(value) 并且我看到了 5 的值。但它没有设置到位。我的 ajax 和插件之间一定有冲突。
  • @sarmen 你是对的,你的 ajax 调用是成功的,你能把这个值设置为一些 dom html 元素并检查操作是否正常。
  • 我把它移到本地它有同样的问题。我单独设置它,所以我可以看到这里有什么问题是链接69.231.223.112:8888/shopify/test.php
  • 我也将它设置在一个 dom 元素中并显示该值。我很确定现在与插件有冲突。我只是不知道在哪里
猜你喜欢
  • 1970-01-01
  • 2019-06-23
  • 1970-01-01
  • 1970-01-01
  • 2016-08-29
  • 1970-01-01
  • 2023-03-07
  • 2011-11-09
  • 1970-01-01
相关资源
最近更新 更多