返回列表 發帖

JSON從Webserver接收問題

小弟昨天在網路上看範例得知這個技術 也確定web servser 有傳遞 json型式的資料 到網頁前端(小弟用(HTTPWATCH)確認過)
簡單的程式碼如下
function loadCities() {
$.ajax({
            type: "POST",
            url: "WebService.asmx/getcust",
            contentType: "application/json; charset=utf-8",
            data: "{}",
            dataType: "json",
            success: fillCities,
            error: loadCityFail     
        });

    }
    function fillCities(val) {
       val = eval("(" + val + ")");        <---網頁在執行的時候 此行一直出現問題 煩請各位大大幫忙解決問題 感激不盡...
    }
    function loadCityFail() {
        alert("發生錯誤");
    }
   
    $(document).ready(function() {
        $('#b1').click(function() {
        loadCities()
        });

    });
  

</script>

那如果JSON要轉成陣列作輸出 該怎寫呢 可以請教一下嗎 因為我取不出資料 一值顯示有錯...

TOP

function fillCities(val) {
        alert(val);        
    }
會出現訊息視窗 object Object

小弟還有用網路提供的一種 看變數的方式
  function fillCities(val) {
              dump(val, false);
    }
出現資料視窗如下
[{"custid":"12345678","custname":"賴壬崴","custimage":"image/image1.jpg"},{"custid":"6879348","custname":"謝松翰","custimage":"image/image2.jpg"},{"custid":"9856712","custname":"許義明","custimage":"image/image3.jpg"},{"custid":"7896231","custname":"王炫英","custimage":"image/image4.jpg"}]
應該是有資料沒錯  那我該如何轉成javascruipt可以使用的陣列呢?

TOP

{"d":"[{\"custid\":\"12345678\",\"custname\":\"賴壬崴\",\"custimage\":\"image/image1.jpg\"},{\"custid\":\"6879348\",\"custname\":\"謝松翰\",\"custimage\":\"image/image2.jpg\"},{\"custid\":\"9856712\",\"custname\":\"許義明\",\"custimage\":\"image/image3.jpg\"},{\"custid\":\"7896231\",\"custname\":\"王炫英\",\"custimage\":\"image/image4.jpg\"}]"}

這個是我用httpwatch 看到的資料 "d":<----這個好像是多餘的 但是不知道為什麼總是會出現
小弟我是用VS2008 ASp.NET 開發的 是否有人遇到跟我相同的問題

小弟發現要加上 val = eval('('+val['d']+')'); 才能讀取到資料 但是這終究是個鳥辦法....有大大知道這是怎一回事
或者 該如何解決的嗎

[ 本帖最後由 x781523 於 2009-10-16 17:24 編輯 ]

TOP

返回列表 回復 發帖