0

我对这个脚本很着迷,我试图通过当有人点击一个按钮然后使用 ajax 从另一个 URL 获取数据然后用获取的数据填充表单输入来解决这个问题,任何人都可以帮助我的代码看起来像这个:

  $(document).ready(function()
            {
            $("#getmetaData").click(function(){

            var element = $(this);



            var url = $("#url").val();
            var dataString = 'url='+ url ;
            //alert(dataString); 
            if(url=='http://')
            {
            alert("Please Enter URL to fetch Meta Data");
            }
            else
            {
            $("#flash").show();
            $("#flash").fadeIn(400).html('<img src="images/loader.gif" >');

            $.ajax({
            type: "POST",
            url: "fetch-metadata.php",
            data: dataString,
            cache: false,
            success: function(data){

            $("#title").val(data);
            $("#description").val(data);
            $("#keywords").val(data);
            $("#flash").hide();

            }
            });

            }
            return false;});});          
4

2 回答 2

0

如果你没有看到错误,我猜是这种情况,这意味着你的请求失败了。由于您没有任何error功能,因此当您的请求失败时,您的 jQuery 代码将什么也不做。

将这样的内容添加到您的$.ajax对象参数中:

error: function(jqXHR, textStatus, errorThrown) {
  // now you can set a breakpoint or log textstatus/errorThrown
},
于 2012-05-07T07:08:57.157 回答
0

根据 HackedByChinese 的回答,我会添加一个错误回调函数。

此外,在您的成功回调函数中,您只是使用“数据”变量而不用它做任何事情。根据“fetch-metadata.php”的响应格式,我认为您需要先做一些事情。它是 XML,在这种情况下您需要解析它。如果它的 json 你可以使用对象点符号来引用它的属性。

最后,我会使用 Firebug 之类的东西来查看这个 Ajax 请求的请求和响应,以确保它正在被处理并且没有返回 404 或 500。假设它返回一个有效的响应,使用 Firebug 你可以查看响应查看返回给您的 js 的原始数据。

希望这可以帮助

于 2012-05-07T07:19:37.243 回答