调用webservice传参的问题

时间:2022-06-04 21:11:08
 
 var xmlObj=null;
  var AccounrAddress = "http://210.***.***.***/service/service.asmx?";
  var PythonAddress = "http://210.***.***.***/proxy.py?url=";

         //创建
function CreatXMLHttpRequest()
{
    if(window.XMLHttpRequest)
    {
        xmlObj=new XMLHttpRequest();
    }
    else if(window.ActiveXObject)
    {
        xmlObj=new ActiveXObject("Microsoft.XMLHttp");
    }
}  

function aa(tel)
{
var result = "";

var url=PythonAddress + EncodeUtf8(AccounrAddress + "GetIllegalListByTelNumber&strTelNumber="+tel);

CreatXMLHttpRequest();  
 
//处理返回信息函数
xmlObj.onreadystatechange = function()
{
      alert(xmlHttpRequest);
      //xmlhttp.readyState 0:未初始化  1:正在加载  2:已经加载完成  3:正在和服务器交互 
 
      if(xmlHttpRequest.readyState == 4)
      {
          if(xmlHttpRequest.status == 200)
          {
           if(xmlObj.responseText=="0")
              {
                 return null;
              }
              else
              {                          
               result = xmlObj.responseText;
              } 
          }
          else
          {   
              window.alert("请求页面异常");   
          }   
      } 
     }
 try
 {
       xmlObj.open("GET",url,false); 
       xmlObj.send(null); 
  }
  catch(e)
  {
alert(e);
  }       
  return result;
}


url中传递参数调用webservice的方式有问题吗,为什么根本取不出来结果?

17 个解决方案

#1


自己顶一下 咋没人回复呢!?

#2


var AccounrAddress = "http://210.***.***.***/service/service.asmx?";
  var PythonAddress = "http://210.***.***.***/proxy.py?url=";

确认没有跨域??ajax不能直接请求跨域的页面的

#3


var PythonAddress = "http://210.***.***.***/proxy.py?url=";

这是一个python的代理,实现了跨域的问题

#4


跨域了,那应该是请求的域没有获取到参数,去那里看看错误

#5


是呀,现在估计就是调用地址有问题,所以不知道怎么传参呢,呵!高人们赶快来帮忙啊

#6


没学过、不知道诶。

#7


var url=PythonAddress + EncodeUtf8(AccounrAddress + "GetIllegalListByTelNumber&strTelNumber="+tel);
encodeURIComponent转下码,然后到服务器端再转下就回来了
var url=PythonAddress + encodeURIComponent(AccounrAddress + "GetIllegalListByTelNumber&strTelNumber="+tel);

#8


To IBM_hoojo:

没明白你的意思呀,能说得再明白点吗?
var url=PythonAddress + encodeURIComponent(AccounrAddress + "GetIllegalListByTelNumber&strTelNumber="+tel);

这个要放到哪里

#9


将EncodeUtf8换成encodeURIComponent,然后在后台用Decode转码

#10


To IBM_hoojo:
我这是纯脚本调用webservice,你说的后台是指在webservice里面转吗?

#11


快来高手呀 救命啊!

#12


没人回答自己顶

#13


该回复于2010-12-02 16:03:25被版主删除

#14


自己顶起来

#15


这种是跨域的操作,不是webservice的调用吧。

#16


思路都错了...
能行才怪

#17


请大家看好了再回答问题,3楼已经说得很清楚了,是先调用了一个python的代理后实现的跨域

#1


自己顶一下 咋没人回复呢!?

#2


var AccounrAddress = "http://210.***.***.***/service/service.asmx?";
  var PythonAddress = "http://210.***.***.***/proxy.py?url=";

确认没有跨域??ajax不能直接请求跨域的页面的

#3


var PythonAddress = "http://210.***.***.***/proxy.py?url=";

这是一个python的代理,实现了跨域的问题

#4


跨域了,那应该是请求的域没有获取到参数,去那里看看错误

#5


是呀,现在估计就是调用地址有问题,所以不知道怎么传参呢,呵!高人们赶快来帮忙啊

#6


没学过、不知道诶。

#7


var url=PythonAddress + EncodeUtf8(AccounrAddress + "GetIllegalListByTelNumber&strTelNumber="+tel);
encodeURIComponent转下码,然后到服务器端再转下就回来了
var url=PythonAddress + encodeURIComponent(AccounrAddress + "GetIllegalListByTelNumber&strTelNumber="+tel);

#8


To IBM_hoojo:

没明白你的意思呀,能说得再明白点吗?
var url=PythonAddress + encodeURIComponent(AccounrAddress + "GetIllegalListByTelNumber&strTelNumber="+tel);

这个要放到哪里

#9


将EncodeUtf8换成encodeURIComponent,然后在后台用Decode转码

#10


To IBM_hoojo:
我这是纯脚本调用webservice,你说的后台是指在webservice里面转吗?

#11


快来高手呀 救命啊!

#12


没人回答自己顶

#13


该回复于2010-12-02 16:03:25被版主删除

#14


自己顶起来

#15


这种是跨域的操作,不是webservice的调用吧。

#16


思路都错了...
能行才怪

#17


请大家看好了再回答问题,3楼已经说得很清楚了,是先调用了一个python的代理后实现的跨域