jQuery自动完成mysql zend并且操作/控制器没有响应?
我们在zend中使用jquery autocomplete,并像这样设置我们的操作jQuery自动完成mysql zend并且操作/控制器没有响应?,jquery,jquery-ui,zend-framework,jquery-autocomplete,Jquery,Jquery Ui,Zend Framework,Jquery Autocomplete,我们在zend中使用jquery autocomplete,并像这样设置我们的操作 public function ajaxautocompleteAction() { $postData = $this->_request->getParams(); $term = $postData['term']; $categoryObj = new Categories(); $result = $categoryObj->searchCategory
public function ajaxautocompleteAction()
{
$postData = $this->_request->getParams();
$term = $postData['term'];
$categoryObj = new Categories();
$result = $categoryObj->searchCategory($term);
$this->view->result = $result;
}
$("#autotest").autocomplete({
source: searchUrl,
minLength: 2
});
视图文件中的javascript如下所示
$(function() {
var url = "http://www.domain.com/account/ajaxautocomplete?format=json";
$( "#autotest" ).autocomplete({
minLength: 2,
source: function(request, response){
var iterm = request.term;
var url = "http://www.domain.com/account/ajaxautocomplete?format=json";
$.post( url, {term: iterm},
function( data ) {
response(data); });
}
});
});
在chrome控制台中,我得到了这个错误
无法加载XMLHttpRequest。访问控制不允许原点允许原点
你知道为什么我们没有从ajax请求中获得结果吗?看起来domain.com不允许跨域调用
尝试
chrome.exe--禁用web安全性
看起来domain.com不允许跨域调用
尝试
chrome.exe--禁用web安全性
这就是我以前使用jQueryUI的autocomplete和ZF的方式
public function ajaxautocompleteAction()
{
$term = $this->getRequest()->getParam('term');
$categoryObj = new Categories();
$result = $categoryObj->searchCategory($term);
$this->view->result = $result;
}
public function init()
{
$this->_helper->ajaxContext->addActionContext('ajaxautocomplete', 'json')
->setAutoJsonSerialization(false)
->initContext('json');
}
views/scripts/account/ajaxautocomplete.JSON.phtml
)
public function ajaxautocompleteAction()
{
$postData = $this->_request->getParams();
$term = $postData['term'];
$categoryObj = new Categories();
$result = $categoryObj->searchCategory($term);
$this->view->result = $result;
}
$("#autotest").autocomplete({
source: searchUrl,
minLength: 2
});
这就是我以前使用jQueryUI的autocomplete和ZF的方式
public function ajaxautocompleteAction()
{
$term = $this->getRequest()->getParam('term');
$categoryObj = new Categories();
$result = $categoryObj->searchCategory($term);
$this->view->result = $result;
}
public function init()
{
$this->_helper->ajaxContext->addActionContext('ajaxautocomplete', 'json')
->setAutoJsonSerialization(false)
->initContext('json');
}
views/scripts/account/ajaxautocomplete.JSON.phtml
)
public function ajaxautocompleteAction()
{
$postData = $this->_request->getParams();
$term = $postData['term'];
$categoryObj = new Categories();
$result = $categoryObj->searchCategory($term);
$this->view->result = $result;
}
$("#autotest").autocomplete({
source: searchUrl,
minLength: 2
});
我不认为这是答案,我们的所有网站访问者都不可能在chrome上这么做。我不知道://文件与此有什么关系?我们正在从mysql表中获取类别列表,试图通过zend操作将其转换为自动完成。请忘记“file://”,我在前面编辑了答案:)当然,访问者不会安装chrome。您的web服务器不允许此类请求。尝试在响应标题中添加类似于
标题(“访问控制允许来源:http://domain.com“
我不认为这是答案,我们的所有网站访问者都不可能在chrome上这样做。我不知道://文件与此有什么关系?我们正在从mysql表中获取类别列表,试图通过zend操作将其转换为自动完成。请忘记“file://”,我在前面编辑了答案:)当然,访问者不会安装chrome。您的web服务器不允许此类请求。尝试在响应标题中添加类似于标题(“访问控制允许来源:http://domain.com“”
编辑我们的url到非wwww,这是他们在zend中的设置开始工作的方式,我在chrome控制台中看到“XHR完成加载:…”但没有选择列表chrome控制台显示XHR完成加载:“它应该有?term=asdf作为我开始输入的字母,但它没有接收到,有什么想法吗?编辑我们的url到非wwww,这是他们在zend中的设置开始工作的方式,我在chrome控制台中看到“XHR完成加载:…”但没有选择列表chrome控制台显示XHR完成加载:“它应该有?term=asdf作为我开始键入的字母,但它没有拾取这些字母,有什么想法吗?谢谢,您能够从数据库中获取行ID并使用该名称/ID设置输入吗?您是否使用任何代码对其进行验证,以便用户不会输入一些不是来自db表的值?在这种情况下,我建议使用带有select元素的标准Zend表单,并使用[Selected plugin]对其进行增强()。谢谢,您是否能够从数据库中获取行ID,并使用该名称/ID设置输入?您是否使用任何代码验证它,以便用户不会输入一些不是来自db表的值?在这种情况下,我建议使用带有select元素的标准Zend表单,并使用[Selected plugin]对其进行增强()