在使用ajax返回XML页面时遇到问题

时间:2013-10-15 17:06:34

标签: jquery html ajax get

我遇到.ajax调用问题:

    $("#search").click(function()
    {
        $.ajax(
        {
            type: "GET",
            url: "http://www.omdbapi.com/",
            data: { s : "True", r: "XML"},
        //  dataType: "XML",
            success:function(result)
            {
                $("#DBSearch").html(result);
            }
        });
    });

S是要搜索的电影,r是返回类型。 使用fiddler时,我可以看到请求返回正常,但它没有在我的浏览器中显示任何内容。

我也遇到了TypeError:在firefox调试器中,e为null。 这是html:

<div id="DBSearch"> 

</div>
<button id="search">Search Movie</button>

示例查询结果以fiddler:

返回
 <root response="True">
    <Movie Title="True Grit" Year="2010" imdbID="tt1403865" Type="movie"/>
    <Movie Title="True Lies" Year="1994" imdbID="tt0111503" Type="movie"/>
    <Movie Title="Dodgeball: A True Underdog Story" Year="2004" imdbID="tt0364725" Type="movie"/>
    <Movie Title="True Romance" Year="1993" imdbID="tt0108399" Type="movie"/>
    <Movie Title="True Blood" Year="2008" imdbID="tt0844441" Type="series"/>
    <Movie Title="True Grit" Year="1969" imdbID="tt0065126" Type="movie"/>
    <Movie Title="True Crime" Year="1999" imdbID="tt0139668" Type="movie"/>
    <Movie Title="Dreamer: Inspired by a True Story" Year="2005" imdbID="tt0418647" Type="movie"/>
    <Movie Title="One True Thing" Year="1998" imdbID="tt0120776" Type="movie"/>
    <Movie Title="True Legend" Year="2010" imdbID="tt1425257" Type="movie"/>
    </root>

1 个答案:

答案 0 :(得分:0)

读取api,默认返回JSON。

success:function(result)
{
    var obj = eval("(" + result + ")");
    $("#DBSearch").html(obj.Search[0].Title);
}

这是一个更容易的解决方案。 更好的是:

var obj = JSON.parse(result);

谢谢nzifnab和KevinB