1.因为我的webservice返回的是json,
2.ajax传递跨域不安全,
3.contentType:
"application/json; charset=utf-8"
, 这个是直接访问的webservice
所以还是采用后台调用,
如果引用微软的webService直接new对象,调用方法,就会报错根级别上的数据无效
困扰了我1天,最后的解决方法,
创建辅助类,
public class WebServiceHelper { /// <summary> /// /// </summary> /// <param name="url">地址</param> /// <param name="method">方法</param> /// <param name="param">json参数</param> /// <returns></returns> public static string WebServiceApp(string url, string method, string param) { byte[] byteArray = Encoding.UTF8.GetBytes("json=" + param); HttpWebRequest webRequest = (HttpWebRequest)WebRequest.Create(new Uri(url + "/" + method)); webRequest.Method = "POST"; webRequest.ContentType = "application/x-www-form-urlencoded"; webRequest.ContentLength = byteArray.Length; Stream newStream = webRequest.GetRequestStream(); newStream.Write(byteArray, 0, byteArray.Length); newStream.Close(); HttpWebResponse response = (HttpWebResponse)webRequest.GetResponse(); StreamReader php = new StreamReader(response.GetResponseStream(), Encoding.UTF8); string phpend = php.ReadToEnd(); return phpend; } }
调用方法: