2013-11-15 5 views
0

Я нашел проблему, однако мое решение не работает. Переменные d0 и d1 заполняются, но после того, как код создает и связывает массивы storelocations. Поэтому я получаю сообщение об ошибке, что d0 и d1 не определены. Любые решения? ТНХ для помощиJSON Ajax data issue

Javascript:

$(function() { 


     $.get("/Map/GetJsonData", function (data) { 
      storeLocations = []; 
      var d0 = data[0].Delay; 
      var d1 = data[1].Delay; 


     }); 

     var storeLocations = new Array(); 
     storeLocations.splice(storeLocations.length, 0, d0); 
     storeLocations.splice(storeLocations.length - 1, 0, d1); 


} 
+0

_ "Однако данные не передаются" _ - И что на самом деле происходит? Если вы добавите 'console.log (data)' в качестве первой строки своей функции обратного вызова, что она показывает? – nnnnnn

+0

Убедитесь, что «Клиники» заполнены правильно или вы что-то упустили по URL-адресу (может быть ../Map/GetJsonData), попробуйте использовать '$ .get («/Map/GetJsonData », function (data) {})' , это может не решить вашу проблему, но экономит несколько циклов. –

+0

если я добавлю document.write (d0); внутри $ .get выводит правильную информацию. – user2138160

ответ

0

эти шаги отладки:

  1. Прежде всего, вызовите действие через браузер. Посмотрите, есть ли какой-либо результат, показывающий как JSON или нет. Просто введите полный URL-адрес, например http://domain/Map/GetJsonData
  2. Если вы считаете, что действительно имеете данные в своей базе данных, но данные не отображаются в браузере, попробуйте отладить через Visual Studio. Здесь должны быть точки останова.
  3. Если вы получаете данные обратно через браузер, попробуйте простой метод $.get jQuery. Даже тест $.ajax с параметрами.
+0

Хороший ответ здесь. Просто добавьте для user2138160 - F12 в большинстве браузеров привлечет инструменты разработчика, которые позволят вам хорошо отлаживать javascript. Если вы используете Firefox, вы также можете загрузить Firebug для отладки. – HockeyJ