Jquery从webservice获取不到返回值....

现要从某webservice得到一些返回值,要求用Jquery实现。= =+
--------------------------------------------------------------------------------------------

下面这个是我测试的Jquery代码

$(document).ready(function() {
            $('#btn1').click(function() {
                $.ajax({
                    type: "POST",   
                    contentType: "application/json", 
                    url: "http://xxxxxx/WebService.asmx/HelloWorld",
  //WebService的真实地址和方法名(不过其实这个页面是我为了测试临时做的,放在服务器上...),如果url用这个的话,测试点击按钮就完全没反应,貌似没取出值...
                    //url: "WebService.asmx/HelloWorld",
      //如果把这个 WebService页面跟Jquery放在一起本地调用的话倒是能弹出alert,弹出值见下面说明          
                    data: "{ }",         //做最简单的测试这里就没用参数      
                    dataType: 'json',
                    success: function(result) {                     
                        $('#dictionary').append(result);//成功的话显示返回值    
                    },
                    error: function(x, e) {
                        alert(x.responseText);
                    }
                });
            });
        });

页面html:

    <div id="btn1" class="button">
                HelloWorld</div>

        <div id="dictionary">
        </div>

webservice:

[WebService(Namespace = "http://tempuri.org/")]
[WebServiceBinding(ConformsTo = WsiProfiles.BasicProfile1_1)]
[System.ComponentModel.ToolboxItem(false)]
[System.Web.Script.Services.ScriptService]

public class WebService : System.Web.Services.WebService {
    [WebMethod]
    public string HelloWorld()
    {
        return "Hello World ";
    }

 }

=======================================================

说明:

如果用webservice网测试址的话,点了按钮后完全没反应
(网页左下角有黄色感叹号,说access is denied. 报错代码行数5千多行——话说我一共加起来也没几行代码 - =)

如果用第二个url,也就是本地的那个的话,也不能在dictionary中显示,而是弹出alertalert 出来的内容就是正常访问该webservice显示出的xml 
<?xml version="1.0" encoding="utf-8" ?>
  <string xmlns="http://tempuri.org/">Hello World</string> 

另外,我这些是在VS2005下操作的............. = =||||

 

请问:

1. 怎么才能通过网址从webservice那里得到正确值啊?难道不能直接用url也要添加web引用啥的?

2. 难道Jquery真的不能用VS2005只能用2008么?为啥米?
如果可能的话,还是想尽可能用2005,因为大部分都是用2005开发的,想统一一些。当然了,如果2005真的就是不行只能用2008的话,那也只能用2008了,倒也不是死活非用2005不可~ 只是稍微告诉我一下原因,然后我好回复经理.... orz

请各位高手不吝赐教,之前完全没接触过 ajax/Jquery的小白,经理又死活让我用这个... 囧rz

深鞠躬!~ 先谢了! 如果回答的很详细我一定加分... 虽然我穷的叮当响.....  (┬_┬)

饮歌长啸
浏览 516回答 5
5回答

MM们

问题是,现在我需要从某网址(非本地文件)取值,也就是1那种情况。。。。而现在1的情况是完全取不到啊。。。。

眼眸繁星

第一种情况属于跨域调用,这样调用不允许。 第二种情况要加上:contentType: 'application/json; charset=utf-8',

MMMHUHU

第二种只是为了确认这个取值的jquery代码到底好不好用,是为了跟第一个做对比做的试验,看看是不是本地调用就没问题。 跨域不允许。。。那怎么才能取到呢?总有方法应该是可以取到的吧。。。 (┬_┬)
打开App,查看更多内容
随时随地看视频慕课网APP