如何从不同的视图调用控制器的方法?

时间:2016-03-10 08:15:05

标签: jquery ajax model-view-controller

从不同的视图调用控制器中的方法时出现问题。方法是CheckKeyName()在" Project"控制器,我尝试用字段的ajax onchange事件调用。该字段位于弹出窗口中,弹出窗口位于导航菜单中,可以从任何视图调用。但问题是当我在Project页面中调用nav菜单上的方法时(和ajax中的变量url是:url =' CheckKeyName&#39 ;;)它工作正常,但如果我是在不同的控制器上,例如问题页面,不调用该方法并显示错误:" http://test/Issue/CheckKeyName无法加载资源:服务器响应状态为404(未找到)"。 即使我在url变量中写入url =' Project / CheckKeyName&#39 ;; 在这里,我显示我的代码:

function checkKeyName(keyname) {
            url = 'CheckKeyName';
            $.ajax({
                url: url,
                type: 'POST',
                contentType: 'application/json;',
                data: JSON.stringify({ keyname: keyname }),
                success: function (result) {
                    if (result != "1") {// if there is same keyname found
                        $("#keyNameError").css('display', 'block');
                    }
                    else {
                        $("#keyNameError").css('display', 'none');
                    }
                }
            });    
    }

任何帮助将不胜感激。 谢谢你的时间。

Fitore

1 个答案:

答案 0 :(得分:0)

uri必须在您的服务器中可用。在您的情况下是'CheckKeyName',表示必须可以访问网址http://test.local/CheckKeyName

或者为您的脚本提供完整的网址。

您应该尝试使用var_dump和die()语句在浏览器中输入此URL以确保它不是404:)