我使用CakePHP的JsHelper在我的代码中生成一些Ajax。当我使用
$this->Js->get('#searchCity')->event(
'click', $this->Js->request(
'http://api.geonames.org/searchJSON', array(
'async' => true,
'dataExpression' => true,
'method' => 'GET',
'data' => "{}",
'dataType' => 'JSON',
'success' => ""
)
)
);
帮助器输出是这样的
$(document).ready(function() {
$("#searchCity").bind("click", function(event) {
$.ajax({async: true, data: {},
dataType: "JSON", success: function(data, textStatus) {
}, type: "GET", url: "http:\/\/api.geonames.org\/searchJSON"});
return false;
});
});
显然,某些版本的Internet Explorer在处理.bind()函数时遇到问题,因此此代码不适用于IE。
我读到.on()
函数是一个很好的替代品。
问题是:我可以在不触及CakePHP核心的情况下替换.bind()
.on()
吗?还是有其他聪明的解决方案吗?