0

我正在尝试将数据保存在 mysql 中。通过调用 solr url。它适用于除 IE 之外的所有浏览器。

我的代码

dataTable = "<ol>";
                //Check the data is present form the searching element.
                if (data.response.docs.length != 0) {
                    $.each(data.response.docs, function (key, value) {
                        dataTable += "<li><a href=\"" + value.id + "\" onmousedown=\"javascript:StoreClickedURL(" + userId + ",'" + encodeURI(userInput) + "','" + value.id + "')\">" + value.id + "</a></li>";
                    });

                    //Check whether persons there or not.
                    dataTable += "</ol>";
                }

功能

function StoreClickedURL(userId, query, event) {
var urlsearch = "http://192.168.10.113:8080/collective-intellegence/StoreClicks?userid=" + userId + "&query=" + query;
$.ajax({
type: 'POST',
url: urlsearch,
dataType: 'json',
success: function (data) {
}
});
}

这在所有浏览器中都可以正常工作,但在 IE 中不起作用(在 IE7、IE8 和 IE9 中测试)。

它在任何浏览器中都没有显示任何错误。我已经使用 Firebug 进行了测试。

当我单击一个链接时,它会转到该函数(通过在函数中放置警报进行测试),但不会将数据存储在数据库中。

请帮忙

谢谢

4

1 回答 1

2

IE 不支持跨域 ajax 调用,我们在下面的代码中执行此操作。

if (window.XDomainRequest) // Check whether the browser supports XDR. 
{
    xdr = new XDomainRequest(); // Create a new XDR object.
    if (xdr) {
        xdr.open("post", urlSearch);
        xdr.send();
    }
    else {
        alert('Server Error!! Try Later.');
    }
}
else {
    //Inserted data in the database.
    $.ajax({
        type: 'POST',
        url: urlSearch,
        dataType: 'json',
        success: function (data) {
        }
    });
}
于 2012-12-20T06:45:48.483 回答