我正在
查看我的控制台时的ReferenceError:未定义Y1ohe1oTVVG6916
响应。尝试通过Ajax传递两个参数时会发生这种情况。 Y1ohe1oTVVG6916
是此输入的唯一标识符。
AJAX:
function checktickets(val)
{
var myserial = <?= $row['eventserial']?>; //this outputs the unique identifier Y1ohe1oTVVG6916
$.ajax({
type: "POST",
url: "<?php echo base_url();?>welcome/gettickets",
data:{
id:val,
evtsr:myserial
},
beforeSend :function(){
$(".numberoftickets option:gt(0)").remove();
$('.numberoftickets').find("option:eq(0)").html("Please wait..");
},
success: function (data) {
/*get response as json */
$('.numberoftickets').find("option:eq(0)").html("Select Number of Tickets");
var obj=jQuery.parseJSON(data);
$(obj).each(function()
{
console.log(data);
alert(data);
var option = $('<option />');
option.attr('value', this.value).text(this.label);
$('.numberoftickets').append(option);
});
/*ends */
}
});
}
控制器:
public function gettickets() {
$evt =$_POST['evtsr'];
$tkt =$_POST['id'];
$query = $this->db->query("SELECT * FROM events_tickets where event_serial ='$evt' AND tickets_id='$tkt'");
$data=array();
foreach($query->result_array() as $key=> $r)
{
for($i=1; $i<=$r['ticket_max_allowed_buyer']; $i++)
{
$data['value']=$i;
$data['label']=$i;
$json[]=$data;
}
}
echo json_encode($json);
}
如果我从ajax函数中删除第二个参数evtsr:myserial
并从控制器重新调整我的查询,一切正常,但我需要包含第二个参数,以便对选择进行更多排序。
答案 0 :(得分:0)
我猜只有一种可能的解释。 尝试使用这样的声明:
var myserial = '<?= $row['eventserial']?>';
请回复是否有效。我很好奇这是否是问题