【问题标题】:Cross Domain Ajax Form Submit in Internet Explorer在 Internet Explorer 中提交跨域 Ajax 表单
【发布时间】:2012-08-02 21:27:40
【问题描述】:

我的网站上有这个潜在客户表单,它与 zoho CRM 集成。

我所做的是提交一个 ajax 表单。它在除 Internet Explorer 之外的所有浏览器中都能完美运行。

这是我正在使用的代码:

$.ajax({
                    type: 'POST',
                    url: 'https://crm.zoho.com/crm/WebToLeadForm',
                    crossDomain: true,
                    data: {
                        "xnQsjsdp":"ppmcCsqovwVthYo*kRl79w$$", 
                        "xmIwtLD":"VhOb6HhGDim4uPu3Iakv-bchDcGQB5gh", 
                        "actionType":"TGVhZHM=", 
                        "returnURL": "http://www.taxday.co.uk/", 
                        "First Name":$("#contact-name").val(),
                        "Last Name":$("#contact-subject").val(), 
                        "Phone":$("#contact-home-number").val(), 
                        "Email":$("#contact-email").val(),
                        "Description" : $("#contact-message").val(),
                        "LEADCF1":prof,
                        "Street" : $("#contact-address").val(),
                        "Zip Code" : $("#contact-postcode").val()
                    },
                    dataType: 'json',
                    success: function(responseData, textStatus, jqXHR) {
                       alert("Form Submitted");
                    },
                    error: function (responseData, textStatus, errorThrown) {
                       alert("Form Submitted");
                    }
                });

但交易警报出现在 IE 中,但在 zoho 端未捕获潜在客户

任何帮助将不胜感激。

谢谢

【问题讨论】:

    标签: ajax internet-explorer jquery cross-domain


    【解决方案1】:

    对于跨域,IE 要求您使用 XDomainRequest 而不是 XMLHttpRequest。 jQuery 不这样做,所以你必须手动完成:

        if ($.browser.msie && window.XDomainRequest) {
            // Use Microsoft XDR
            var xdr = new XDomainRequest();
            xdr.open("get", url);
            xdr.onload = function() {
                // XDomainRequest doesn't provide responseXml, so if you need it:
                var dom = new ActiveXObject("Microsoft.XMLDOM");
                dom.async = false;
                dom.loadXML(xdr.responseText);
            };
            xdr.send();
        } else {
            $.ajax({...});
        }
    

    请参考下面的JQUERY论坛帖子

    http://forum.jquery.com/topic/cross-domain-ajax-and-ie

    在stack over flow中也提出了同样的问题

    Jquery $.ajax fails in IE on cross domain calls

    问候 马赫什, Zoho CRM。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2017-01-24
      • 2012-05-10
      • 1970-01-01
      • 2013-09-10
      • 2014-07-26
      • 1970-01-01
      • 1970-01-01
      • 2013-09-17
      相关资源
      最近更新 更多