问题标签 [ajaxcontext]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
javascript - ASP.NET MVC - AjaxContext
我试图检查 ASP.NET-MVC 使用的 AjaxContext,例如 Ajax Actionlinks 及其 onSucces、onComplete 等客户端函数。但是我不太了解它...关于这件事的文档在哪里?
当我处于 onSuccess 或 onComplete javascript 事件中时,有人知道如何获取“target”或“srcElement”(e.target 或 window.event.srcElement)吗?
结果是:
ajax - AjaxControlToolkit.dll.refresh
AjaxControlToolkit.dll.refresh 文件的作用是什么?
php - 如何在 zendFramework 中向整个控制器添加上下文
可以将例如 json 上下文添加到特定操作:
但是如果我想将 jsonContext 添加到当前控制器中的两个或所有操作中呢?我试过了:
但没有结果。我知道我可以使用:
但我正在寻找更原始的解决方案。先感谢您。
zend-framework - Zend AjaxContext、_redirect 和哈希导航
SO中的第一篇文章,尽管我多年来一直在浏览它以解决那些令人兴奋的问题,而不是太多的编码问题。
我想要做的是: * 使用哈希导航 (#!/)。* 使用 Zend 控制器动作,而不是 php 文件。* 通过 javascript/jQuery 加载这些动作。
到目前为止,我已经完成了这个工作:indexController,几个动作,每个动作都通过 addActionContext() 附加到 AjaxContext,我可以通过我的 javascript/jQuery 文件通过“hashchange”插件 jQuery(window).hashchange(function(){布拉布拉})。我可以很好地循环操作。
但是如果他/她没有登录,我想将用户重定向到登录页面,这给我带来了我的问题:我怎样才能做到这一点?重定向到另一个控制器(登录控制器,登录操作)。我正在尝试类似 $this->_redirect('/#!/login/login'); 没有任何运气(是的,我已经在该控制器的初始化中设置了 AjaxContext)。我不断收到重定向错误(“页面未正确重定向”)。如果我只是在地址栏中输入“/#!/login/login”,我会正确显示所有内容。
无论如何,提前谢谢!干杯
javascript - Zend Framework 1.12,ContextSwitch or AjaxContext not disable layout等问题
环境:Windows 8 Apache 2.4 ZF 1.12 PHP 5.4 YUI框架,用于后台连接服务器
我正在尝试执行一个非常简单的 ajax/js 组合,用户与之交互:
当用户点击是/否时,应通过 ajax/js 更新 2 of 4。我的 ReviewController 的 init() 方法中有以下代码(扩展 Zend_Controller_Action)。请注意,此操作 (feedbackAction) 之后的视图脚本是 /views/scripts/review/feedback.json.phtml
当执行feedbackAction 时,会跳出一个异常,指出它找不到feedback.phtml。这告诉我 AjaxContext 实际上没有附加“json”格式。为什么会这样?我在某处读到应该在动作内部调用 initContext()。我试过了......同样的例外。
然后我尝试使用 ContextSwitch,但它似乎超出了让 AjaxContext 成为 ContextSwitch 子类的目的。ReviewController 中的 init() 中的代码被替换为:
这次,莫名其妙地没有发生异常,而是呈现了以下内容:标题代码(由我的_header.phtml文件生成,由我的layout.phtml文件调用)。我完全不明白。我已经理解(显然不是很好)“addActionContext”+initContext() 禁用布局(如果启用了任何布局)。¿?
编辑 我发现它不是来自我的 _header.phtml 文件的 html 内容,而是来自另一个 .phtml 文件,由于我添加到我的 actionStack 中的一些操作,它正在呈现。处理完这件事后,呈现的内容如下:
由于在我的 ReviewController() 的 init() 方法中启动的 ContextSwitch 助手,放置在 $this->view 中的变量被呈现为 json。当我说“这被渲染了”是因为我在地址栏中放置了以下网址:http://localhost/PlacesforKids/public/review/feedback/format/json/id/1/helpful/1
这应该是 YUI 框架发送的 URL。
我说“应该”是因为在我的 javascript 成功函数中(当成功执行 ajax 调用时被 YUI 框架回调)我执行 fowlling: alert(response),打印出我得到的响应......并且它打印出整个shabang:html标签,标题...等。我不知道这怎么可能。
当时我想我可能误用了 YUI 框架,所以我尝试更改为 jquery.js。为此,我将其内容复制到名为 jquery.js的文件中,并将其放在我的 /public/js 目录下。这是它对服务器的 ajax 调用:
});
这是最有趣的部分,我的 ReviewController 的操作不会被调用。相反,最后渲染的视图被重新渲染,这意味着它重新发送由最后一个操作调用的视图脚本生成的内容(它属于与 ReviewController 不同的控制器)。我知道它已被重新渲染,因为在该视图脚本所有者的操作中,我添加了以下内容:
但它从不抛出异常。
编辑我想我明白了,但我需要知道如何清理 baseUrl() 所以我在我的 chrome 浏览器上打开了 java 控制台,这样我就可以查看我的 reviewFeedback.js 通过 $.ajax 发出的实际 http 请求() 方法。有趣的是,这就是我得到的:
为什么在世界上 $ajax() 将我作为 GET 的 url 附加到现有的 url?这意味着我试图通过我的 $.ajax() 生成的任何 url 都是 gettign 附加到我的“referer”的。所以,我只需要清理它并从零开始,对于我的意思是 url... 我怎么能在 zend 框架中做到这一点?有任何想法吗?
现在,如果我将 sUrl (localhost/PlaceforKids/public/review/feedback/format/json/id/1/helpful/0) 中的字符串直接输入到我浏览器的地址栏上,它会按照预期的方式执行,打印$this->view 中已由 ReviewController 设置的变量,并将它们作为 json 发送。
YUI 框架也有同样的问题。我要疯了。
我真的可以使用帮助,谢谢。