我想创建一个ajax请求,允许用户将一些数据从输入字段发送到数据库,然后将其返回到输入字段,与注释框一样,因此数据应插入数据库然后显示在没有重新加载页面的输入字段中,这是我的代码:
function getHTTPObject(){
if (window.ActiveXObject) return new ActiveXObject("Microsoft.XMLHTTP");
else if (window.XMLHttpRequest) return new XMLHttpRequest();
else {
alert("Your browser does not support AJAX.");
return null;
}
}
// Implement business logic
function doWork(){
httpObject = getHTTPObject();
if (httpObject !== null) {
httpObject.open("GET", "a page or a controller action"
, true);
httpObject.send(null);
// httpObject.onreadystatechange = setOutput;
}
}
那么,如何在不离开整个页面的情况下发出可以调用控制器操作的请求呢?
答案 0 :(得分:3)
首先,为了发出Ajax请求,我建议你使用jQuery。这会容易得多。
这是一个例子(使用jQuery):
jQuery.getJSON('/path/to/your/controller/someAction/',function(response) {
console.log('Server reply : ',response);
}
在控制器的操作中,不要忘记将输出发送为json:
public function actionSomeAction()
{
die(json_encode("This is my response"));
}
编辑:如果你不需要jQuery,请参阅这个没有jQuery进行Ajax调用的答案:https://stackoverflow.com/a/8567149/911718