在js或者HTML中需要嵌套输出PHP语句,并且php中有需要解析的变量的时候,尽量不要直接拼字符串,合理的做法是把需要php解析的内容用字符串(或变量)代替,然后在js中执行变量替换,如本例:
$.ajax({
url : "<?php echo U('ajaxGetUserByErea', '', false); ?>&city="+city,
datatype : 'json',
success : function (data,status){
// alert("Data: " + data + "\nStatus: " + status);
//遍历数据取出需要的字段
data = eval(data);
var html = "";
for (var i = 0; i < data.length; i++) {
var url = "<?php echo sp_get_image_url('header_img');?>";
url = url.replace('header_img', data[i].header_img);
html += '<div class="product-OTC-one">';
html += '<a href="#">';
html += '<img src="https://blog.youkuaiyun.com/' + url +'" alt="" />';
html += "<p>"+data[i].real_name+"</p></a></div>";
}
$("#agent_container").html(html);
}
});
一般不要把有复杂业务逻辑的PHP代码和js代码混写,应该把需要输出的内容在PHP中封装成变量;
tips:js replace()函数第一个参数是字符串,第二个是js变量