jQuery取消$.POST的异步提交的方法

$.POST方法并没有异步方式的设置,有两种解决方法。

1.改成$.ajax方法
$.ajax({
       type : 'POST',
       async : false,
       url : '/point/changeNum',
       data: {cart_id:cart_id,goods_num:goods_num},
       success : function(str){
        alert(str);
       }
           
   });

2.使用$.ajaxSetup({async: false});方法

function getData(Code) {
  $.ajaxSetup({async: false});
  $.post('//point/changeNum',{cart_id:cart_id,goods_num:goods_num},  function (data) {
        // Do Something
        });
   $.ajaxSetup({async: true}); //So as to avoid any other ajax calls made sybchrounously
}

jquery中使用load方法url包含空格问题解决

$('input[type=text]').keyup(function() {
    $('#result').load('test.php?str=' + encodeURIComponent($.trim($(this).val())) ).hide().fadeIn();
});

如果url中包含空格jquery会认为是一个选择器,如果必能匹配任何元素就会返回空,最后使用encodeURIComponent处理下url把空格转换成%20

http://api.jquery.com/load/#loading-page-fragments

php跨域访问设置

在ajax中使用post请求出现了跨域问题
查了下资料说是要加入
header('Access-Control-Allow-Origin: *');
结果出现下面的提示
原因:来自 CORS 预检通道的 CORS 头 'Access-Control-Allow-Headers' 的令牌 'x-requested-with' 无效
于是又加入
header('Access-Control-Allow-Headers: X-Requested-With');
问题解决

<?php
header('Access-Control-Allow-Origin: *');
header('Access-Control-Allow-Headers: X-Requested-With');
?>

http://www.vicchen.me/angularjs-post/
http://www.cnblogs.com/Darren_code/p/cors.html