Передать объект Javascript в .ASHX

У меня есть объект, который я создал в Javascript, который я хочу передать в файл .NET .ASHX, а затем проанализировать различные свойства объекта.

Вот объект, который я построил в Javascript:

function passSelection(prop1, prop2, prop3, prop4, prop5, prop6) {
this.prop1 = prop1value;
this.prop2 = prop2value;
this.prop3 = prop3value;
this.prop4 = prop4value;
this.prop5 = prop5value;
this.prop6 = prop6value;
};

Затем я заполняю объект значениями;

var javascriptObject = new passSelection(var1, var2, var3, var4, var4, var6); 

Затем я вызываю свою функцию ajax, чтобы отправить объект в .ASHX;

nameOfAjaxFunction(javascriptObject);

Все это хорошо работает. Но теперь внутри .ASHX я хочу получить отдельные свойства объекта, поэтому я установил переменную .NET для javascriptObject в моей строке запроса AJAX. Это тоже работает нормально.

Dim objObjectVariable = context.Request.QueryString("javascriptObject")

Итак, вопрос: теперь, когда у меня есть переменная .NET, установленная для объекта javascript, как я могу ссылаться на отдельные свойства объекта?

Любые подсказки или предложения будут с благодарностью. Спасибо!


person Todd Krueger    schedule 09.01.2013    source источник


Ответы (1)


С помощью Ajax вы всегда будете отправлять на сервер строки, а не объекты. В вашем случае nameOfAjaxFunction, похоже, передает его через GET (другим вариантом будет POST). Лучший способ передать объект — закодировать его как JSON на вашем JS (изнутри nameOfAjaxFunction), а затем декодировать обратно на стороне сервера.

person bfavaretto    schedule 09.01.2013