Использование json2.js внутри классического ASP - PullRequest
1 голос
/ 21 марта 2012

Добрый день,

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

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

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

Я получаю ответ "JSON" - пустой или нет объекта. Это наводит меня на мысль, что метод 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

1 Ответ

1 голос
/ 04 апреля 2012

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

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

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

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

...