Tag: 阿贾克斯

Ajax不发布数据,Chrome扩展程序

在我的Chrome扩展程序中,我能够访问我的’punch.php’文件并接收数据,问题是我似乎无法将数据传递给该文件。 这是我的代码: jQuery.fn.punch = function(){ $(this).click(function(){ var punchBtn = $(this); var ProjectMemberId = ‘1’ var ProjectId = ‘1’ var str = ‘ProjectMemberId=’+ProjectMemberId+’&ProjectId=’+ProjectId; var xhr = new XMLHttpRequest(); xhr.open(“POST”, “http://www.ontimepunchcard.com/scripts/punch.php”, true); xhr.onreadystatechange = function() { if (xhr.readyState == 4) { $(‘#PunchBox’).html(xhr.responseText); if(xhr.responseText==0) { punchBtn.removeClass(‘PunchedIn’); } else { punchBtn.addClass(‘PunchedIn’); } } } xhr.send(‘ProjectMemberId=’+ProjectMemberId+’&ProjectId=’+ProjectId); }); }//END PUNCH METHOD […]

将signed_request和AJAX调用一起传递给使用CanvasAuthorize修饰的ActionMethod

这是使用CanvasAuthorize进行装饰时AJAX调用不触发操作方法的后续操作 所以我找到了以下链接,似乎这是一个常见的问题: http://facebooksdk.codeplex.com/discussions/251878 http://facebooksdk.codeplex.com/discussions/250820 我试图遵循prabir的建议,但我无法让它工作…… 这是我的设置: 我在页面中有以下片段,其中触发整个post到facebook的按钮位于: @if (!string.IsNullOrEmpty(Request.Params[“signed_request”])) { } 然后我有这个片段(在同一页面内的脚本标记内): var signedRequest = $(‘#signedReq’).val(); $(‘.facebookIcon’).click(function () { var thisItem = $(this).parent().parent(); var msg = thisItem.find(‘.compItemDescription’).text(); var title = thisItem.find(‘.compareItemTitle’).text(); var itemLink = thisItem.find(‘.compareItemTitle’).attr(‘href’); var img = thisItem.find(‘img’).first().attr(‘src’); postOnFacebook(msg, itemLink, img, title, signedRequest); }); 最后,在外部js文件中我有以下function: /*Facebook post item to wall*/ function postOnFacebook(msg, itemLink, pic, […]

Chrome扩展程序中的AJAX请求失败,具有正确的清单权限?

我正在编写Chrome扩展程序,执行简单的ajax调用(基于此示例来自文档): $.ajax({ type: “GET”, url: “http://www.flags.99k.org/getFlags.php” }).done(function(response) { alert(“SUCCESS: ” + response); }).fail(function(response) { alert(“FAILURE: ” + response); }); 请求总是失败,因为警报显示: FAILURE: [object Object] 。 该URL有效:当我将http://www.flags.99k.org/getFlags.php放入我的地址栏时,我得到了这个: [{“UID”: “1”, “Message”: “Hello”}, {“UID”: “2”, “Message”: “World”}, {“UID”: “3”, “Message”: “Hello World”}] 这是我的manifest.json扩展名。 { “name”: “Hello World”, “version”: “1.0”, “description”: “The first extension that I made.”, “browser_action”: { “default_icon”: […]

跨域域ajax POST在chrome中

有关跨域AJAX问题的几个主题。 我一直在看这些,结论似乎是这样的: 除了使用像JSONP或代理sollution这样的东西之外,你不应该对另一个域做一个基本的jquery $ .post() 我的测试代码看起来像这样(在“ http://myTestdomain.tld/path/file.html ”上运行) var myData = {datum1 : “datum”, datum2: “datum”} $.post(“http://External-Ip:port”, myData,function(return){alert(return);}); 当我尝试这个(我开始寻找的原因)时,chrome-console告诉我: XMLHttpRequest无法加载http:// External-IP:port / page.php 。 Access-Control-Allow-Origin不允许使用Origin http://myTestdomain.tld 。 现在,据我所知,这是预期的。 我不应该这样做。 问题是POST实际上已经到了低谷。 我有一个简单的脚本运行,将$_POST保存到一个文件,很明显post得到了低谷。 我返回的任何实际数据都没有传递给我的调用脚本,由于访问控制问题,这似乎再次出现。 但是post实际到达服务器的事实让我感到困惑。 我认为上面运行在“myTestdomain”上的代码不能对另一个域(外部IP)执行简单的$.post()是否正确? 是否预期请求实际上会到达external-ip的脚本,即使没有收到输出? 或者这是一个错误。 (我使用的是Chrome 11.0.696.60)

通过“file://”内容中的“ajax”访问相对URL

我正在整理一些演示页面,我要展示的其中一件事涉及动态获取HTML片段以及后续处理。 因此我有这样简单的jQuery代码: $(‘#target’).load(‘./content_fragment.html’, function() { $(this).doSomething(); }); 我正在从file:// URL做这一切,因为整个事情是我(可能)从拇指驱动器或其他东西运行的演示文稿的一部分。 因此,“content_fragment.html”只是另一个本地文件,就像包含该代码的主页一样。 现在这一切在Firefox或Safari中运行得很好,相对URL的其他用途在Chrome中运行良好(iframe“src”URL,图像,脚本,CSS等),但Chrome只是不会关注那些“.load ()“请求”。 如果我压缩内容并将其部署到Web服务器,然后通过其“http:”URL获取,那么Chrome工作正常。 如果它不起作用,我在Chrome控制台中看不到任何错误; 它只是不取内容。 我在Linux和XP上尝试过Chrome,结果相同。 (和Safari或Firefox到同一个文件:// URL总是做我期望的并加载内容。) 所以我的问题是,这种古怪只是一个Chrome怪癖,还是有一些关于XMLHttpRequests和file:// URL的内在问题? 换句话说,Chrome是做正确的事情,意味着其他浏览器坏了吗?