2015-04-16 2 views
1

У меня возникли проблемы с назначением значения, которое я получаю от вызова ajax в массив и передать этот массив.Назначить значение от Ajax до массива

поэтому переменные параметры не действительны

У меня есть этот код

$.ajax({ url: url, 
    success: function(data){ 
     for (var i = 0; i < data.length; i++) { 
      var object = data[i]; 
      var array = JSON.parse(object.polygon); 
      var options = { 
       color: object.color, 
       fillColor: object.fill, 
       fillOpacity: object.opacity 
      }; 

      var options_example = { 
       color: "#fff", 
       fillColor: "#000", 
       fillOpacity: "0.7" 
      }; 

      console.log(options);// This Print correctly 
      console.log(options_example);// same as previous one 

      var land = L.polygon(array,options).addTo(map);//Not Work 
      var land = L.polygon(array,options_example).addTo(map);//Working 
      land.bindPopup("<b>"+object.number+"</b><br>"+object.area); 

     } 
    }}); 

Ответ:

[{"id":"2","number":"asd","area":"asd","polygon":"[[32.31948848454971,35.31074523925781],[32.33022285080643,35.32121658325195],[32.318908212283944,35.360355377197266],[32.29743552506946,35.30954360961914],[32.31948848454971,35.31074523925781]]","basin":"asd","color":""},{"id":"7","number":"adasd","area":"asd","polygon":"[[32.32129727814492,35.36873459815979],[32.321542074502524,35.36865413188934],[32.32107061426081,35.36771535873413],[32.32083488321952,35.368616580963135],[32.32129727814492,35.36893308162689],[32.32134714412331,35.36882042884826],[32.32129727814492,35.36873459815979]]","basin":"asdas","color":"#fff","fill":"#000","opacity":"0.7"}] 

Я не знаю, что я здесь

+0

Можете ли вы опубликовать ответ образца? –

+0

, на какой строке вы получаете ошибку ?? Ответ json будет более полезен, если вы можете предоставить. –

+0

Обновлено, я добавил ответ – Peril

ответ

0

отсутствует в первом элементе массива из объекта ответа не имеет полей fillColor и fillOpacity и color пуст.

Может быть, попробовать некоторые Воулс по умолчанию:

var options = { 
      color: object.color || "#fff", 
      fillColor: object.fill || "#000", 
      fillOpacity: object.opacity || "0.7" 
     }; 
+0

Может быть, вы правы! .. –

Смежные вопросы