Javascript 变量不';无法传递到Ajax调用:未定义变量
为了更好地代表我的问题,我从最初的OP中编辑了这个问题 如何使用AJAX传递变量Javascript 变量不';无法传递到Ajax调用:未定义变量,javascript,ajax,Javascript,Ajax,为了更好地代表我的问题,我从最初的OP中编辑了这个问题 如何使用AJAX传递变量数据uid 现在这个变量没有被传递 var uid=$(this.data(“uid”)不工作=未定义 varuid='199'被传递。工作 是否可以有如下内容:varuid=$uid HTML 看起来您的问题在于数据属性应该是data uid=“somevalue” 在以下代码中检查此小提琴问题: var uid=$(this.data(“uid”) 您试图将这个包装到jquery对象中,但在这个上下文中它是but
数据uid
现在这个变量没有被传递
var uid=$(this.data(“uid”)代码>不工作=未定义
varuid='199'代码>被传递。工作
是否可以有如下内容:varuid=$uid代码>
HTML
看起来您的问题在于数据属性应该是data uid=“somevalue”
在以下代码中检查此小提琴问题:
var uid=$(this.data(“uid”)代码>
您试图将这个包装到jquery对象中,但在这个上下文中它是button对象,然后您试图从中获取未分配的内容
你应该使用:
var uid=$('#post_form').attr('data-uid')代码>
或者,您可以添加您可以显示相关的html吗?.like
元素是什么样子的?您要执行POST而不是GET,请使用GET和url:“delete.php?”+dataString
发布一些HTML代码,并确保没有任何其他具有相同类名的元素可能会造成干扰。@ChHr使用var uid=$('Post_form').attr('data-uid')代码>+1谢谢您的回复。我已经编辑了我的问题。刷新页面时,data id=“
回显正确的uid。问题在于AJAX回调期间:添加新项时,data id
未定义。html参数返回什么?新元素?
<form>
<fieldset>
<textarea id="post_form" type="text" data-uid="<?php echo $uid ?>"/></textarea>
<button type="submit" id="add" value="Update" name="submit" />OK</button>
</fieldset>
</form>
$(function() {
$("#add").click(function() {
var boxval = $("#post_form").val();
var uid = $(this).data("uid"); // this needs to be changed
var dataString = 'post_form=' + boxval + '&uid=' + uid;
if (boxval == '') {
return false;
} else {
$.ajax({
type: "POST",
$.ajax({
type: "POST",
url: "add.php",
data: dataString,
cache: false,
success: function(html) {
parent.html(html);
}
});
return false;
});
});