2011-05-13 25 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