日期:2014-05-16  浏览次数:20671 次

是ajax跨域的问题吗?
function Data_Insert(sendURL)
{
    var asmxURL = "http://127.0.0.1/Project/Webservice/test.asmx/test"
    //var asmxURL = "http://其他IP/Project/Webservice/test.asmx/test"
    var xmlhttp = window.MyXMLHttpRequest();
    xmlhttp.onreadystatechange = function()
    {
        if (xmlhttp.readyState == 4) // 调用完毕
        {
            if (xmlhttp.status == 200) // 加载成功
            {
                var xmlObj = xmlhttp.responseXML;
                var root = xmlObj.documentElement;
                var childs = root.childNodes;
                if(childs.length <= 0)
                {
                    alert("出错了");
                }
                else if(childs[0].text != "")
                {
    alert("OK");
                }
            }
            else
            {
                alert("出错了");
            }
        }
    }
xmlhttp.open("POST",asmxURL, true);
xmlhttp.setRequestHeader('Content-Type', 'application/x-www-form-urlencoded;charset=utf-8');
    xmlhttp.send(sendURL);
}

asmxURL 用127.0.0.1的没有问题,换成别的IP就没反应了,应该怎么改?
------最佳解决方案--------------------
这就涉及到跨域问题了,你用代理的方法解决吧。
------其他解决方案--------------------
引用:
var asmxURL = "http://192.168.1.100/Project/Webservice/test.asmx/test"    
//var asmxURL = "http://192.168.1.200/Project/Webservice/test.asmx/test"
webService 是部署在别的机器上的,我现在用192.168.1.1……


跨域了。。做代理或者jsonp,反正是你自己的站点,允许jsonp调用就行了jQuery jsonp跨域原理
------其他解决方案--------------------
大部分浏览器有同源安全策略,不允许这种请求。
------其他解决方案--------------------
把你地址栏里面的IP和请求的IP设置一样的
------其他解决方案--------------------
var asmxURL = "http://192.168.1.100/Project/Webservice/test.asmx/test"