Javascript AJAX Post响应数据不使用$(';input';).val()写入DOM
我有一些奇怪的行为发生在这个AJAX响应中 在PHP页面上,我有:Javascript AJAX Post响应数据不使用$(';input';).val()写入DOM,javascript,jquery,ajax,post,Javascript,Jquery,Ajax,Post,我有一些奇怪的行为发生在这个AJAX响应中 在PHP页面上,我有: echo $items = $_POST["items"]; 还有我的ajax功能: $j('.share-pdf').on('click', function () { var $body = $('body'); $body.addClass('loading'); var pullsheetName = "pullsheet-backbone", pullsheet = lo
echo $items = $_POST["items"];
还有我的ajax功能:
$j('.share-pdf').on('click', function () {
var $body = $('body');
$body.addClass('loading');
var pullsheetName = "pullsheet-backbone",
pullsheet = localStorage.getItem(pullsheetName);
$.ajax({
cache: false,
data: {
items: pullsheet
},
url: '/create-pdf?store=true',
type: 'POST',
success: function (data) {
alert(data);
$body.removeClass('loading');
$('#share-url input').val(data).select();
$('#share-url').addClass('shared')
}
});
return false;
});
当警报(数据)
警报已发布的数据时,输入中不会显示任何内容,如$(“#共享url输入”).val(数据)。选择()代码>是应该做的
我在这里做错了什么?为什么不将数据正确写入指定的输入?我怀疑您需要使用以下选项:
$('#share-url input').val(function(){
return data[$(this).attr('name')];
}).select();
这是假设data
是包含数据的javascript对象,而不仅仅是数据字符串。我的假设可能是错误的。但是,如果没有进一步的信息,很难找出问题所在。尝试使用小冒号:
$('#share-url:input').val(data).select();
你的
意思是:在jQuery中,查找以下内容中的输入:
$('#share-url').find('input').val(data).select();
这是选择器的祖先/后代形式:$('div span')
-在divs中查找span如果没有HTML,可能很难发现错误。您是否成功选择了输入?什么是$body=$('body')
您选择的id或类是什么???@SyedHaiderHassan-该表单选择了body标记/元素-因此您的两个选项都不是。注意:我强烈建议$('input#share url')
或干脆$('share url')
作为速度选择器,如果您不需要确保输入类型,则优先选择后者。如果这不符合要求,则“数据”不是简单的文本,而是更复杂的类型和数据。需要项目或类似的内容。
$('#share-url').find('input').val(data).select();