Tag: ajax

使用AJAX检查PHP脚本的进度

session_start(); if(isset($_GET[‘progress’])){ $status_done = ‘0’; if($_SESSION[‘progress_percentage’] == “100”){ $status_done = ‘1’; } echo json_encode(array( ‘progress_percentage’ => $_SESSION[‘progress_percentage’], ‘progress_status’ => $_SESSION[‘progress_status’], ‘progress_done’ => $status_done ) ); } elseif(isset($_GET[‘dummytask’])){ for ($i = 1; $i <= 100; $i++) { $_SESSION['progress_percentage'] = $i; $_SESSION['progress_status'] = 'Checking the locks and stuffing the dolls!'; sleep(1); } } $(document).ready(function(){ var timeout = […]

Jquery ajax响应错误

这是我想要实现的部分例子。 我试图从ajax中检索一个值,但是javascript result.success变量是未定义的。 我有以下内容: PHP: $result = array (“success” => null, “html” => “”); $result[‘success’] = true; $result[‘html’] = “test”; echo json_encode($result); 使用Javascript / jQuery的: var ID = 1 $.ajax({ type: ‘POST’, url: ‘/ajax/load.php’, contentType: “application/json; charset=utf-8”, datatype: ‘json’, data: {ID: ID}, beforeSend: function(xhrObj) { xhrObj.setRequestHeader(“Content-Type”,”application/json”); xhrObj.setRequestHeader(“Accept”,”application/json”); }, success: function(result) { if (result.success) { // […]

AJAX请求失败,原因不明(jQuery)

我有一个返回JSON数据的服务: http : //api.drag2droid.shamanland.com/captcha?base64 我正在尝试执行简单的AJAX请求: $.ajax({ type: “get”, url: “http://api.drag2droid.shamanland.com/captcha?base64”, dataType: “json”, success: function(data) { $(“body”).html(data); }, error: function(jqXHR, textStatus, errorThrown) { $(“body”).html(“ajax failed: ” + textStatus + “, ” + jqXHR.status + ” ” + errorThrown); } }); 结果是: ajax failed: error, 0 但是如果我只是将这个url粘贴到浏览器的地址栏中,我就可以看到json的响应。 有人知道可能的陷阱吗? JSFiddle: http : //jsfiddle.net/shomeser/n5TjL/ 编辑: 实际上,我已经设置了我的服务器端以允许来自任何域的所有请求具有任何标头,PHP代码: if ($_SERVER[“REQUEST_METHOD”] == […]

IE10 – JQuery ajax html没有加载数据

我已经通过查看以下post( Ajax不能在IE10上工作 )和其他一些网站做了一些研究,但遗憾的是它没有解决我的问题,这就是我需要你帮助的原因;) 下面你可以看到我的JQuery ajax脚本,我的问题是我可以获取ajax并将值返回到errorDivStyle,但是我无法加载$(“#mainView”)。html(data); 数据从PHP脚本及其HTML返回。 请注意它在Chrome,FF和IE 9中完全正常,但不是IE10。 有什么我做错的吗? $(document).ready(function () { var category = $(“#category”).val(); $(“#category”).change(function(){ $.ajax({ type: “POST”, url: “test.php”, data: $(this).serialize(), cache: false, success: function(data) { if(data) { $(“#mainView”).html(data); $(“#errorDivStyle”).html(“” + category + ” category have been loaded”).show(); } } }); return false; }); });

请求URI太大(414)

我通过$.getJSON发送GET请求,发送的数据非常大。 我需要在处理完数据后得到一个结果,所以POST它似乎不是一个解决方案。 任何的想法? 发送的数据是一个编码为json的字符串。 我考虑先发送它而不先编码,作为一个数组,但后来我的响应只是“数组”,所以之后无法解码它。

JS对象的Stringify添加了额外的数据

在SO上获得一些很好的帮助之后,我使用以下代码片段构建了一个JS对象: var noticeMap = $(‘#preExamNoticesTable tbody tr’).map(function() { var $cells = $(this).children(); return { sequence: $cells.eq(0).children(‘input’).val(), noticeUID: $cells.eq(1).text() }; }); 一个示例结果是noticeMap看起来像这样(来自firebug): jQuery(Object { sequence=”1″, noticeUID=”JP-L23013663997630352308″}, Object { sequence=”3″, noticeUID=”JP-L22913664089460612172″}, Object { sequence=”4″, noticeUID=”JP-L22913664090188631530″}, Object { sequence=”2″, noticeUID=”JP-L22913664089408651799″}) 当我尝试使用JSON.stringify(noticeMap)它的工作原理很好,除了它将额外的数据添加到我不希望通过POST传递的字符串。 它为每个值(来自noticeMap的对象)生成数字键,但在最后一个所需的k:v对之后,我的字符串也有上下文obj , length和prevObject obj。 这是我在stringify()和POST后的JSON: { “0”: { “sequence”: “1”, “noticeUID”: “JP-L23013663997630352308” }, “1”: { “sequence”: “3”, […]

jQuery用AJAX改变下拉列表

我需要一个单选按钮来更改下拉列表,并且如果它只是不确定一些东西,那就最多了。 我希望将CreativeID作为ID,将CreativeName作为名称。 这是我的AJAX: $(‘input[name=creativeType]’).change(function(){ $.ajax({ url: ‘/app/components/MailingsReport.cfc’, //POST method is used type: “POST”, //pass the data data: { method: “getCreative”, CreativeType: $(‘input[name=creativeType]:checked’).val(), datasource: “shopping_cart” }, dataType: “xml”, //contentType: “application/text; charset=utf-8”, success: function(xml){ $(‘#creative option’).remove(); $(xml).find(‘number’).each(function() { $(“#creative”).append(” + $(this).find(‘CREATIVENAME’).text() + ”); }); } }); 这是我的返回数据: 52.065.077.0Product OneProduct TwoProduct Three 我的问题:我根本不知道如何填充下拉列表,因此ID是选项标记之间的值和商品名称。 任何有关这方面的帮助将不胜感激!

$ .Post第二次不开火

我试图制作一个“关注”按钮,但返回的数据,即“取消关注”按钮,无效。 $(‘.follow_button’).click(function() { //event.preventDefault(); var visitor_user_id = $(‘.follow_button’).attr(‘id’); $(‘#link_visitor_follow’).empty().append(‘ Follow’); $.post(‘/unime/user_follow.php’, {‘type’:’follow_me’, visitor_user_id:visitor_user_id}, function(data){ if(data){ $(‘#link_visitor_follow’).empty().html(data); } }); return false; }); $(‘.unfollow_button’).click(function() { //event.preventDefault(); var visitor_user_id = $(‘.unfollow_button’).attr(‘id’); $(‘#link_visitor_unfollow’).empty().append(‘ Following’); $.post(‘/unime/user_follow.php’, {‘type’:’unfollow_me’, visitor_user_id:visitor_user_id}, function(data){ if(data){ $(‘#link_visitor_unfollow’).empty().html(data); } }); return false; }); PHP返回数据: echo ” Unfollow”; 当我单击取消关注按钮时,它不起作用,虽然我有它的代码设置。 PHP本身没有任何问题。 当我点击取消关注时,它甚至没有调用Ajax。

使用slim框架输出的AJAXpost500(内部服务器错误)

我已经被困在这几天了, 这是我之前的问题,但没有一条评论似乎有效。 我尝试了多种方法并设法摆脱404错误,但现在有500错误… 基本上我想在事件发生时发布一个AJAX查询。 使用解析值的AJAX查询运行Slim post route。 使用经过解析的值,使用Slim post route从数据库中选择数据。 然后从查询中返回结果并将其显示在选择框中。 如果有人知道如何解决这个问题,我将非常感激! 这是代码: //Post the AJAX request $(document).ready(function() { $(‘select#add-module-stackid’).change(function() { var val = document.getElementById(“add-module-stackid”); var val2 = val.options[val.selectedIndex].value; //alert(val2); $.ajax({ url: ‘/admin-get-add-module’, data:{stackid:val2}, dataType:’json’, type: ‘POST’, success: function(response) { console.error(JSON.stringify(response)); alert(response); }, error: function() { console.error(“error”); alert(‘Not working!’); } }); }); }); 这是Slim Post […]

表单没有在jQuery中提交ajax成功

我正在做一个单一文本输入的简单forms。我想从db交叉检查是否存在。所以我的HTML是 Zone Name* 我的javasript是 $(‘document’).ready(function(){ $(“[name=submit]”).click(function(e){ e.preventDefault(); if ($(‘#zone_name’).val().length <= 0) { $('#zone_name').addClass("errMsg"); $('#zone_name_error').addClass("errMsgDngr"); $('#zone_name_error').html('Please enter Zone name!'); //isStepValid = false; } else if(!$('#zone_name').val().match(/^[a-zA-Z\s-, ]+$/)){ $('#zone_name').addClass("errMsg"); $('#zone_name_error').addClass("errMsgDngr"); $('#zone_name_error').html('Please use only alphabats!'); //isStepValid = false; }else{ var data = {'zone':$('#zone_name').val()} $.ajax({ type:"post", data:data, url:"”, success:function(err){ if(err == 0) { console.log(‘hello’); $(‘#zone_name_error’).html(”); $(‘#zone_name_error’).removeClass(“errMsg”); $(‘#zone_name_error’).removeClass(“errMsgDngr”); //document.forms[“zoneAdd”].submit(); $(‘form#zoneAdd’).submit(); //console.log($(‘form#zoneAdd’).submit()); […]