我对这个剧本感到疯狂,我正试图通过点击某个按钮然后使用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;});});
答案 0 :(得分:0)
如果您没有看到错误,我猜是这种情况,这意味着您的请求失败了。由于您没有error
函数,当您的请求失败时,您的jQuery代码将不执行任何操作。
将这样的内容添加到$.ajax
对象参数中:
error: function(jqXHR, textStatus, errorThrown) {
// now you can set a breakpoint or log textstatus/errorThrown
},
答案 1 :(得分:0)
根据HackedByChinese的回答,我会添加一个错误回调函数。
此外,在您的成功回调函数中,您只是使用'data'变量而不对其执行任何操作。根据'fetch-metadata.php'的响应格式,我认为你需要先做一些事情。它是XML,在这种情况下你需要解析它。如果它的json你可以使用对象点表示法来引用它的属性。
最后,我会使用类似Firebug的内容来查看此Ajax请求的请求和响应,以确保它正在处理而不返回404或500.假设它返回有效响应,使用Firebug你可以查看查看返回到您的js的原始数据的响应。
希望这有帮助