问题标签 [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.

0 投票
3 回答
1376 浏览

javascript - ASP.NET MVC - AjaxContext

我试图检查 ASP.NET-MVC 使用的 AjaxContext,例如 Ajax Actionlinks 及其 onSucces、onComplete 等客户端函数。但是我不太了解它...关于这件事的文档在哪里?

当我处于 onSuccess 或 onComplete javascript 事件中时,有人知道如何获取“target”或“srcElement”(e.target 或 window.event.srcElement)吗?

结果是:

0 投票
1 回答
3871 浏览

ajax - AjaxControlToolkit.dll.refresh

AjaxControlToolkit.dll.refresh 文件的作用是什么?

0 投票
3 回答
847 浏览

php - 如何在 zendFramework 中向整个控制器添加上下文

可以将例如 json 上下文添加到特定操作:

但是如果我想将 jsonContext 添加到当前控制器中的两个或所有操作中呢?我试过了:

但没有结果。我知道我可以使用:

但我正在寻找更原始的解决方案。先感谢您。

0 投票
1 回答
432 浏览

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”,我会正确显示所有内容。

无论如何,提前谢谢!干杯

0 投票
3 回答
1439 浏览

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 框架也有同样的问题。我要疯了。

我真的可以使用帮助,谢谢。