Использование json2.js в классическом ASP

Добрый день,

Я не понимаю, когда я использую VBScript, Javascript и JScript внутри классического ASP. Мне сказали, что наша среда по умолчанию использует JScript.
Поэтому, когда мы создаем пустую страницу с помощью стандартных включений нашей компании, мы просто начинаем кодировать на JScript.

Теперь я хочу использовать файл json2.js, чтобы я мог анализировать входящий JSON и отправлять JSON клиентам / браузерам.

Я не думал, что мне нужно делать что-то особенное, чтобы использовать json2.js, поскольку это чистый javascript. Но у меня проблемы с размещением тега SCRIPT. В основном, когда и где мне нужен новый тег SCRIPT внутри классической страницы ASP?

Я получаю ответ «JSON is null or not an object». Это наводит меня на мысль, что метод JSON.parse () даже не распознается.

Спасибо

<script language="javascript" runat="server" src="json2.js"></script>

   <%
         .... ..... some ASP Code in JScript

    %>
    <script language="javascript" runat="server">

        var lngBytesCount
            lngBytesCount = Request.TotalBytes

        var requestBody = BytesToStr(Request.BinaryRead(lngBytesCount));
        //var jsonObject=JSON.parse(\"{"answer":"ok"}\");   

        var jsonObject=JSON.parse(requestBody); 

        Response.ContentType = "application/json";

        for (var i in jsonObject){
            Response.Write(jsonObject[i]);
        }

        //var json = eval(requestBody);
        //Response.Write(json);
        Response.End()

    </script>

    <%
     .... ..... some ASP Code in JScript

person user798719    schedule 21.03.2012    source источник


Ответы (1)


Это зависит от того, хотите ли вы использовать библиотеку json2.js на стороне клиента или на стороне сервера.

Классический ASP - это серверная технология, поддерживающая разные языки, наиболее популярными из которых являются vbscript и jscript. Это то же самое, что и ASP.NET, который может быть написан на C # или VB.

Код между тегами <% и %> выполняется на стороне сервера. Кроме того, блоки кода между <script runat="server"> и </script> выполняются на стороне сервера.
Если вы не укажете часть runat="server", она будет выполняться на стороне клиента, а выполняется браузером клиента.

Итак, чтобы ответить на ваш вопрос, если вы хотите использовать его на стороне сервера; используйте <script runat="server">, если хотите использовать на стороне клиента <script>

person Erik Oosterwaal    schedule 04.04.2012