从Ajax Response加载脚本时出现问题

时间:2010-02-25 21:00:42

标签: jquery ajax post scripting

问题是我使用get_info()对Result.lasso进行ajax调用并将响应粘贴到id为'test'的div中。我无法在我调用的页面中使用sendForm()函数get_info()。

我也试过使用不同版本的jQuery 1.1.1.3工作正常。但我在使用更高版本的jquery时遇到了问题。

更高版本的错误如下

missing } in XML expression
[Break on this error] alert('hi');\n
test.lasso (line 3)
sendForm is not defined
[Break on this error] sendForm();  

get_info()函数定义

<script src="http://ajax.googleapis.com/ajax/libs/jquery/1.2.6/jquery.min.js" type="text/javascript"></script>
<SCRIPT>
function get_info()
{
    $.ajax({url: "Result.lasso", context: document.body, success: function(response){
    document.getElementById('test').innerHTML = response ;},dataType:"script"});
}
</SCRIPT>

Result.lasso中的代码如下

[Content_Type: 'text/html; charset=UTF-8']
<script type="text/javascript">
    function sendForm()
    {   
        alert('hi');
    }
</script>   
[Date]
 form name= "abc" method = "get" action = "abcd.lasso">
    input type ="text" name = "element1"/>
    input type = "button" value="Click" onClick = "javascript: sendForm();"/>
</form>

请帮我解决这个问题

谢谢, Rajesh Konatham

2 个答案:

答案 0 :(得分:0)

你的格式很混乱,所以我可能会误解,但听起来你正在加载带有你想要执行的脚本标签的HTML?

尝试使用$('#test').html(response);代替document.getElementById('test').innerHTML = response;。此外,它应该是dataType:"html"而不是脚本。

答案 1 :(得分:0)

由于缺少开放性,您可能也会遇到浏览器翻译的一些奇怪问题&lt;在Result.lasso上的表单标签上