我正在尝试在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进行了测试。
当我点击链接时,它会转到该功能(通过在函数中添加警报进行测试),但不会将数据存储在数据库中。
请帮忙
由于
答案 0 :(得分:2)
IE不支持跨域ajax调用我们这样做就像下面的Code。
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) {
}
});
}