<script type="text/javascript">
           $(document).ready(function () {
               $("#btntianjia").click(function () {
                   alert('aa');
                   var version = '1.1';
                   var restaurantId = '121045';
                   var custName = '测试';
                   var custTel = '20906176';
                   var bookTime = '2010-12-30 18:00:00';
                   var bookPersonNum = '5';
                   var bookDeskNum = '1';
                   var bookRequire = '靠窗';
                   var custAffirmWay = '0';
                   var isSendInvite = '0';
                   var orderSource = '2';
                   var clientId = '15928445812';
                  $.ajax({
                       type: "GET",
                       url: "http://xxx.xxx.cn/interface/orderAction.do",
                       data: "method=createOrder&version=1.1&restaurantId=" + restaurantId + "&custName=" + custName + "&custTel=" + custTel + "&bookTime=" + bookTime + "&bookPersonNum=" + bookPersonNum + "&bookRequire=" + bookRequire + "&custAffirmWay=" + custAffirmWay + "&isSendInvite=" + isSendInvite + "&orderSource=" + orderSource + "&clientId=" + clientId,
                       dataType: "xml",
                       success: function (result) {
                           alert(result);
                       }
                 });                               });
           });
       </script>
在aspx页面中调用按钮post数据到url: "http://xxx.xxx.cn/interface/orderAction.do",
遇到拒绝访问,看了很多资料应该就是跨域的问题,貌似很难解决
现在我又想直接做一个<asp:Button ID="Button1" runat="server" onclick="Button1_Click" Text="Button" />
然后在后台  protected void Button1_Click(object sender, EventArgs e)
        {
            var id = "121045";
            var custName = "测试";
            var custTel = "20906176";
            var custSex = "1";
            var bookTime = "2010-12-30 18:00:00";
            var bookPersonNum = "5";
            var bookDeskNum = "1";
            var bookRequire = "靠窗";
            var custAffirmWay = "0";
            var isSendInvite = "0";
            var orderSource = "2";
            var clientId = "15928445812";
           Response.Redirect("http://xxx.xxx.cn/interface/orderAction.do?method=createOrder&version=1.1&restaurantId=" + id + "&custName=" + custName + "&custTel=" + custTel + "&custSex=" + custSex + "&bookTime=" + bookTime + "&bookPersonNum=" + bookPersonNum + "&bookDeskNum=" + bookDeskNum + "&bookRequire=" + bookRequire + "&custAffirmWay=" + custAffirmWay + "&isSendInvite=" + isSendInvite + "&orderSource=" + orderSource + "&=clientId=" + clientId + "");
        }
这样数据就能传过去了 但是唯一问题是数据传完之后会返回一个xml文件 我是不可能给用户看这个xml的 
纠结啊
一条路是解决跨域问题 一条路是解决这个Response.Redirect如何作假alert(“xx”);然后页面不提示东西的方法

解决方案 »

  1.   

    使用json格式的数据可以实现跨域传输数据!或是尝试设置:document.domain来欺骗浏览器!
      

  2.   

    document.domain来欺骗浏览器这个方法如何做啊
      

  3.   

    明明是 get, 非要说是 post 到那个页面...
      

  4.   

     如果是返回JSON数据,JQUERY有相应的AJAX方法,你可以搜索下,好像是 ajax.jsonp什么的,忘记了
    但是当初我的解决方法是放弃使用AJAX,改用通信编程,就是.net的webclien类或者用httpwebrequest+httpwebresponse两个类
      

  5.   


    在操作ajax上设置一下:document.domain="xxx.com",所有牵扯到的页面都需要设置!但建议还是用json格式数据传输比较好。另外,.NET对该类型数据支持也非常的NICE
      

  6.   

    jsonp会生成一个jsoncallback=jsonp1214803701549的东西 这个烦死了
      

  7.   

    你可以用url rewrite来实现。如果你请求的页面是 www.google.com/q=t
    但你当前的域为www.baidu.com
    那么你就可以使用www.baidu.com/q=t
    rewrite的时候去请求www.google.com/q=t就行了