Неверный ярлык в Mozilla Firefox - PullRequest
       1

Неверный ярлык в Mozilla Firefox

0 голосов
/ 24 сентября 2010

У меня есть такая страница JSP с именем test.jsp

<%@ page language="java" contentType="text/json; charset=ISO-8859-1"
    pageEncoding="ISO-8859-1"%>
<%
response.setContentType("application/x-javascript");
%>

{"feed": "test"}

и HTML-страница, где я использую jquery для чтения объекта json.

    <html>
    <head>
<script type='text/javascript' src='http://ajax.googleapis.com/ajax/libs/jquery/1.4/jquery.min.js'></script>
    <script type='text/javascript'>
    $(function(){

    $.getJSON("localhost:8080/test.jsp?callback=?",{test:"test"}, function(data){alert("here");});

    })

    </script>
    </head>
    </body>
    something here
    </body>
    </html>

, но этопоказывает ошибку как недействительный ярлык в Firefox.Может кто-нибудь объяснить мне причину этой ошибки.Я пробовал Google, но не смог найти решение или объяснение моей проблемы.Что для этого нужно сделать.Пожалуйста, помогите мне.Спасибо

Ответы [ 2 ]

1 голос
/ 28 сентября 2010

Я нашел решение проблемы с помощью Hit & Trial. Это потому, что когда мы выполняем вызов getJSON () для кросс-домена, ответ должен быть заключен в имя функции. Эта функция является нашим обработчиком обратного вызова для ответа в script.eg

HTML-файл:

 <html>
    <head>
<script type='text/javascript' src='http://ajax.googleapis.com/ajax/libs/jquery/1.4/jquery.min.js'></script>
    <script type='text/javascript'>
    $(function(){
       $.getJSON("localhost:8080/test.jsp?callback=?");
    }
   function test(data){
      alert(data.feed);
    }

И jsp test.jsp

<%@ page language="java" contentType="text/json; charset=ISO-8859-1"
    pageEncoding="ISO-8859-1"%>
<%
response.setContentType("application/x-javascript");
out.write("test({\"feed\": \"test\"})");
%>

надеюсь, что если у кого-то возникнет такая же проблема, это поможет. Вы можете передать имя функции обратного вызова в качестве параметра и сделать jsp на сервере таким, чтобы оно использовало это имя для переноса ответа.

0 голосов
/ 24 сентября 2010

Я столкнулся с той же проблемой, которая была на самом деле из-за некоторой проблемы с вызовом json или ajax.В вашем вызове json это должно быть {"test": "test"} вместо {test: "test"}.

Попробуйте, это должно работать, если это проблема.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...