Tag: Ajax

JQuery Ajax发送GET而不是POST

以下代码触发GET而不是POST HTTP请求。 function AddToDatabase() { this.url = './api/add'; } AddToDatabase.prototype.postData = function(dataToPost) { $.ajax({ type: "POST", url: this.url, data: dataToPost, context: this, success: this.onSuccess }); }; var AddToDatabase = new AddToDatabase(); data = {data: 'coucou'}; AddToDatabase.postData(data); 为什么,我怎样才能得到一个POST? 我在Google Chrome Inspect和Firefox中看到检查浏览器发送GET。 这是从Chrome浏览器: 请求URL:http:// localhost / SAMPLE-CODES / UPDATE%20MYSQL / api / add /请求方法:GET状态码:200 OK 解决了 名为“./api/add”的URL实际上是发布到“./api/add/index.php”。 […]

ASP.NET MVC 3(Razor)Ajax.ActionLink – 我做错了什么?

尝试有一个AJAX动作链接,当点击时,应该做一个HttpGet到一个动作方法,它返回一个PartialViewResult和HTML推到一个div。 这是我的观点: <div id="admin-options" class="admin"></div> @Ajax.ActionLink("Show Admin Options", "ShowOptions", "Post", new { area = "Admin" }, new AjaxOptions { UpdateTargetId = "admin-options", HttpMethod = "GET" }) 以下是操作方法: public class PostController : Controller { [HttpGet] [Authorize(Roles="Admin")] public PartialViewResult ShowOptions() { return PartialView(); } } 这是它生成的HTML: <a data-ajax="true" data-ajax-method="GET" data-ajax-mode="replace" data-ajax-update="#admin-options" href="/Admin/Post/ShowOptions">Show Admin Options</a> 对我看起来很好。 但不是做一个AJAX调用,而是通过浏览器的URL做一个普通的HTTP GET,然后redirect到/ […]

如何阻止ASP.NET更改ID以使用jQuery

我在我的网页上有这个标签控件 <asp:Label ID="Label1" runat="server" Text="test"></asp:Label> 而当页面呈现控件的id改变为这样的东西 <span id="ctl00_ContentPlaceHolder1_Label3">test</span> 我怎样才能停止改变ID为了执行这样的jQuery操作的asp.net $('#label1').html(xml);

VCRProxy:在Capybara内部用VCR录制PhantomJS ajax呼叫

我已经在这方面做了一些研究,但没有find任何解决办法。 我有一个网站,其中asynchronousajax调用Facebook(使用JSONP)。 我用VCRlogging了所有的HTTP请求到Ruby端,所以我认为这个function也适用于AJAX调用。 所以我玩了一下,提出了一个代理尝试。 我使用PhantomJS作为Capybara内部集成的无头浏览器和微妙的手段。 Poltergeist现在被configuration为使用这样的代理: Capybara.register_driver :poltergeist_vcr do |app| options = { :phantomjs_options => [ "–proxy=127.0.0.1:9100", "–proxy-type=http", "–ignore-ssl-errors=yes", "–web-security=no" ], :inspector => true } Capybara::Poltergeist::Driver.new(app, options) end Capybara.javascript_driver = :poltergeist_vcr 出于testing目的,我写了一个基于WEBRICK的代理服务器,它集成了VCR: require 'io/wait' require 'webrick' require 'webrick/httpproxy' require 'rubygems' require 'vcr' module WEBrick class VCRProxyServer < HTTPProxyServer def service(*args) VCR.use_cassette('proxied') { super(*args) } end […]

使用Javascript从加载的iframe中检索HTTP状态代码

我使用jQuery Form插件进行asynchronous表单提交。 对于包含文件的表单,它将表单复制到一个隐藏的iframe,提交它,然后复制iframe的内容。 问题是,我无法弄清楚如何find服务器返回的HTTP状态码。 例如,如果服务器返回404,则iframe中的数据将被正常复制并作为常规响应处理。 我试过在iframe对象中寻找某种status_code属性,但一直没有find类似的东西。 $.ajax()函数不能使用,因为它不支持上传文件。 我知道的asynchronous上传文件的唯一方法是使用隐藏的iframe方法。

记住ajax添加数据时按下返回button

我有一个search页面,每个search结果被添加到AJAX页面。 这样,我可以让用户search例如Led Zeppelin ,然后再次searchMetallica,但将其添加到与之前的search相同的结果列表中。 我的问题是,当用户点击一个链接到一条logging,然后点击返回button,回到search结果。 FireFox(7)保留页面,当我离开它时,显示完整的结果。 另一方面, IE(7,8)和Chrome(15)将显示在添加AJAX之前的任何search结果的页面,就好像它不记得我向其中添加数据。 以下是我使用的代码。 我试图添加location.hash = "test"; 但似乎没有工作。 // Add search result $("#searchForm").submit(function (event) { //location.hash = "test"; event.preventDefault(); $.post($(this).attr('action'), $(this).serialize(), function (data) { $("tbody").append(data); }); }); 我不需要一个后退button,可以跟踪search页面上的更改,例如逐个添加不同的search结果。 我只想让浏览器记住最后的search结果,当我点击后退button。 解决了 更改为document.location.hash = "latest search"没有改变任何东西。 埃米尔指出,我必须使用localStorage 。 这进入了其余的jQuery代码: // Replace the search result table on load. if (('localStorage' in window) && […]

Access-Control-Allow-Origin不允许$ http.get,但$ .ajax是

从我控制的远程服务器获取json时遇到问题。 我有2个Web应用程序,一个正在服务数据并在端口3311上运行,另一个正在请求数据,正在端口5000上运行。 使用jquery的以下工作: $.ajax({ url: "http://localhost:3311/get-data", type: 'GET', dataType: 'json', beforeSend: function(xhr) { xhr.setRequestHeader("x-some-header", "some-value"); } }) .done(function(data) { $rootScope.$apply(function() {d.resolve(data); }); }) .fail(function(data) { $rootScope.$apply(function() {d.reject(data); }); }); 当试图与angular度相同的获取请求 $http .get("http://localhost:3311/get-data", { headers: {"x-some-header": "some-value"} }) .success(function(data) { d.resolve(data);}) .error(function(data) { d.reject(data); }); 我收到错误 Origin http://localhost:5000 is not allowed by Access-Control-Allow-Origin. 控制台日志显示在OPTIONS请求返回HTTP200之后发生错误 OPTIONS http://localhost:3311//get-data […]

在新请求中取消先前的ajax请求

我有一个函数,在input的变化上运行ajax调用。 但是,在前面的ajax调用完成之前,有可能会再次触发该函数。 我的问题是,如何在开始新的ajax调用之前中止以前的ajax调用? 不使用全局variables。 (请参阅这里回答一个类似的问题) 我目前的代码jsfiddle : 使用Javascript: var filterCandidates = function(form){ //Previous request needs to be aborted. var request = $.ajax({ type: 'POST', url: '/echo/json/', data: { json: JSON.stringify({ count: 1 }) }, success: function(data){ if(typeof data !== 'undefined'){ jQuery('.count').text(data.count) console.log(data.count); } } }); }; if(jQuery('#search').length > 0){ var form = jQuery('#search'); jQuery(form).find(':input').change(function() { […]

在JavaScript中引用ASP.NET控件的ID?

当ASP.NET控件呈现时,它们的ID有时会改变,就像它们在命名容器中一样。 Button1在渲染时可能实际上具有ctl00_ContentMain_Button1的标识。 我知道你可以把你的JavaScript作为string写在你的.cs文件中,获取控件的clientID并使用clientscript将脚本注入到你的页面中,但是有什么方法可以直接从使用ASP.NET Ajax的JavaScript引用一个控件? 我发现编写一个函数来recursion地parsingdom,并find一个包含我想要的id的控件是不可靠的,所以我正在寻找一个最佳实践而不是解决方法。

更改url,而不使用JavaScriptredirect

我想知道如何更改url,而无需像这个网站http://dekho.com.pk/ads-in-lahoreredirect,当我们点击标签URL的变化,但页面dosent完全重载。 还有其他问题stackoverflow表明这是不可能的,但我想知道如何上述网站已经实现它。 谢谢