jQuery AJAX function - Chrome выкидывает "Uncaught SyntaxError: Unexpected number"

У меня есть несколько щелкаемых объектов на экране, которые представляют объекты в части программного обеспечения, взаимодействующего через COM-компонент.

Когда я нажимаю на объект, я посылаю имя объекта, идентификатор сессии и команду, которую я хочу выполнить.

Код для конкретной команды, которую я пытаюсь реализовать, представляет собой страницу ASP.NET на базе C#:

case "myClick":
                dynamic simObj = S8COM.get_SimObject(Request["id"]);
                responseData = "{name:" + simObj.Name.ToString() + ",countInRoutes:" + simObj.CountInRoutes.ToString() + ",countOutRoutes:" + simObj.CountOutRoutes.ToString() + ",index:" + simObj.Index.ToString() + ",capacity:" + simObj.Capacity.ToString() + ",completed:" + simObj.Completed.ToString() + ",routeOutMethod:" + simObj.RouteOutMethod.ToString() + "}";
                break;

Это работает нормально для некоторых объектов, но не для других, выбрасывая исключение "Uncaught SyntaxError: Unaught SyntaxError: Unexpected number" исключение.

JS, который я использую для вызова этой конкретной функции:

S8Web.Requestmanager.makeRequest({ data: { command: "myClick", id: aItem.id }, async: true, callback: function(data){
                        alert(data.CountInRoutes); //Do a vardump of the response
                        }});

Пара ответов тоже, первый работает нормально, тогда как второй выбрасывает исключение "Unexpected Number":

jsonp1319203225074({name:Start,countInRoutes:0,countOutRoutes:1,index:5,capacity:0,completed:0,routeOutMethod:4});

jsonp1319203225066({name:Process 1,countInRoutes:1,countOutRoutes:1,index:1,capacity:1,completed:0,routeOutMethod:1});

Единственное, что я вижу, что может повлиять на результат, это пробел между "Process" и "1". Это то, что вызывает эту ошибку?

7
задан sxthomson 21 October 2011 в 13:36
поделиться