我必须从Web服务获取一个Json对象,但我找不到任何关于它的文档。我必须 发一个sql语句得到它。任何人都知道这一切是否可行?
好的,谢谢你的回答。 首先,Web服务有一个GetJsonString“metod”。 我正在尝试这段代码:$(document).ready(function () {
$.ajax({
type: 'Get',
url: 'http:********************************.asmx?op=GetJSONString',
success: function(returnedJson) {
alert(returnedJson)
}
});
});
我收到此错误:
XMLHttpRequest cannot load http:/***********asmx?op=GetJSONString. Origin null is not allowed by Access-Control-Allow-Origin.
答案 0 :(得分:1)
请检查:http://www.json.org/js.html
要将JSON文本转换为对象,可以使用eval()函数。 eval()调用JavaScript编译器。由于JSON是JavaScript的适当子集,因此编译器将正确解析文本并生成对象结构。文本必须包含在parens中,以避免绊倒JavaScript语法中的歧义。
var myObject = eval('('+ myJSONtext +')');
myJSONtext是您的Web服务的返回值
如果您使用的是jQuery,这篇文章就是一个很好的答案:Calling a web service in JQuery and assign returned Json to JS variable
答案 1 :(得分:1)
这是可能的,但取决于几个因素:
DELETE FROM important_table
答案 2 :(得分:1)
您可以将SQL作为POST请求的参数发送,如
$.ajax({
type: 'POST',
url: "http://www....",
method: "serverCallback",
data: "SELECT ....",
success: success,
dataType: dataType
});
使用RPC(远程进程调用)处理它,将结果打包在json中 并且成功回调将作为参数返回。缺点是 从Web应用程序发送原始SQL查询非常危险, 它是SQL注入攻击的一个简单目标。
因此,如果您可以发送一个定义哪个SQL的参数会更好 查询将在数据库中执行,而不是发送查询本身。