我有一个输入;
<input id="product" type="button" value="Add To Cart" onclick="addAjax({{=dogProducts[i].name}})"/>
输入是fdgdg我验证了这个购买看页面元素。和这个Ajax函数:
function addAjax(id){
$("#output").text("") ;
$("#ajaxerror").text("");
//alert(id)
console.log(id);
jQuery.ajax({
type:'GET',
url:'/pkpetscart/default/addtocart',
data: {
product:id
},
timeout: 1000,
success: function(msg) {
console.log(msg);
// place returned value in the DOM
jQuery('#output').html(msg)
},
error: function(objAJAXRequest, strError){
$( "#ajaxerror" ).append( " AJAX error:" + strError );
}
});
}
当我尝试运行它时,firebug显示
ReferenceError: fdgdg is not defined http://127.0.0.1:8000/pkpetscart/default/dogs Line 1
我如何解决这个问题。
答案 0 :(得分:1)
您需要在引号中传递参数以使其成为字符串,如果它不在引号中,则将其视为您尚未定义的变量。因此,您收到错误
ReferenceError:未定义fdgdg
使用
onclick="addAjax('{{=dogProducts[i].name}}')"
而不是
onclick="addAjax({{=dogProducts[i].name}})"