mozilla firefox中的标签无效

时间:2010-09-24 12:08:25

标签: jquery firefox

我有一个名为test.jsp

的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中显示错误为无效标签。任何人都可以解释这个错误的原因。 我试过谷歌但无法找到解决方案或解释我的问题。需要做些什么呢。请帮帮我。 感谢

2 个答案:

答案 0 :(得分:1)

我已经找到了解决这个问题的方法。审判。 这是因为当我们在跨域调用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,使其使用该名称来包装响应。

答案 1 :(得分:0)

我遇到了同样的问题,实际上是因为json或ajax调用存在一些问题。在你的json调用中它应该是{“test”:“test”}而不是{test:“test”}。

如果这是问题,请尝试它。