javascript - JQuery ajax调用跨域webservice

标签 javascript jquery asp.net web-services

我想使用 jquery 从客户端使用跨域 Web 服务

function TestService() {
    $.ajax({
        url: "http://service.asmx/GetGeoCompletionList",
        data: { "prefixText":"eka", "count":"10", "contextKey":"Trace_0$Rus" },
        dataType: "jsonp",
        type: "GET",
        contentType: "application/json; charset=utf-8",
        success: function (data) {
            alert(data);
        },
        error: function (XMLHttpRequest, textStatus, errorThrown) {
            alert(XMLHttpRequest.statusText);
        }
    });
}

在错误处理程序中我有: textStatus=解析错误

XMLHttpRequest 的状态为 200,readyState 4

errorThrown 是 jQuery1610349557264714​​0...78197139 未调用

我花了很多时间,但没能成功。你能帮我吗?

已更新

谢谢,我更改为 GET,并修复了我的数据字符串。

服务返回有效的 JSON 对象。我可以在其他站点的 firebug 上看到它,该站点使用此服务。但该网站正在获取通用 json(因为它有一个域)。

那么,如果网络服务返回有效的 JSON(不是 jsonp),我不能对 jsonp 使用相同的方法吗?我可以做些什么来整合来自其他域的 json Web 服务?

最佳答案

您传递并声称是 JSON 的字符串不是 JSON。

只能使用 " 字符来引用字符串。

此外,您无法发出跨域 JSON-P POST 请求。

关于javascript - JQuery ajax调用跨域webservice,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6117924/

相关文章:

javascript - 在 ASP.NET/C# 中检查复选框服务器控件时隐藏文本框 - 使用 Jquery 或 Javascript

javascript - 单击缩略图时 iFrame 弹出窗口

javascript - 删除切换的事件监听器方法

javascript - 使用javascript在屏幕中间显示弹出窗口

javascript - javascript 中的 GET 请求到 NodeJS

c# - 如何将 unicode(阿拉伯语)字符插入 SQL Server 数据库

javascript - While 循环在 Google Chrome 控制台中不断崩溃

javascript - 使用 Switch 语句在 React 中预期的表达式

javascript - Firefox 中的 jQuery animate() Buggy

c# - 在消息处理程序中添加属性值