2011-05-13 41 views
0

这个项目是托管于Shopify,但我会解释什么都做,所以你不需要知道shopify如何工作。ajax将不会改变指定的价值onSucess调用

这里是我指的网站。 (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> 
+0

can you console.log var value = parseInt(result.rvalue);在萤火虫中的值,并看到输出 – kobe 2011-05-13 05:23:53

+0

我得到10和10第一个产品和第二个0。这工作我已经测试了警报。 – 2011-05-13 05:27:22

回答

0

这个网站(从您希望得到什么样的JSON)主机上?据我所知 - 跨域请求被禁止..您可以使用类似代理服务器的请求 - 从PHP(file_get_contents或其他函数)获取页面,并请求这个文件(proxy.php或其他),这个内容是存储。

+0

@Invis,好点。 – kobe 2011-05-13 05:31:02

+0

我可以使用jsonrequest做跨域请求吗?这就是为什么它在那里。该网站存储在shopify.com上,我不能在其中使用PHP。它是那些只能使用他们的模板系统并通过ajax发送和发送数据的站点之一。它的检索地点是我的本地主机。 – 2011-05-13 05:37:10

+0

ps:我收到我要求的价值。我能够键入警报(值),我看到了5的值,但它没有设置到位。我的ajax和插件之间必须有一些冲突。 – 2011-05-13 05:37:59