Jquery JSON AJAX url需要更多

Jquery JSON AJAX url需要更多,jquery,ajax,d3.js,Jquery,Ajax,D3.js,我使用D3创建了一些县数据和他们的choropleth示例。我使用的是d3.json选项,而不是jquery.ajax。我有一个URL,当我使用它时,它不会加载。经过一些研究,我发现web服务需要一个额外的参数: {'county': {'year': 2002,'stat': 'crime'}} 所以我一直无法连接到这个url 我尝试为web服务添加其他必需参数,如下所示: d3.json("http://url/states", function (json) { data

我使用D3创建了一些县数据和他们的choropleth示例。我使用的是d3.json选项,而不是jquery.ajax。我有一个URL,当我使用它时,它不会加载。经过一些研究,我发现web服务需要一个额外的参数:

   {'county': {'year': 2002,'stat': 'crime'}} 
所以我一直无法连接到这个url

我尝试为web服务添加其他必需参数,如下所示:

d3.json("http://url/states", function (json) {
    data = "{'county': {'year': 2002,'stat': 'crime'}}"
    //basic d3 stuff from here below
    counties.selectAll("path")
        .attr("class", quantize);
    dataType = json,
        contentType = "application/json; charset=utf-8";
});

如果调用中没有这些参数,我就无法连接,我不知道如何合并它们。

可能是单引号不被视为有效语法。您可以在以下位置验证语法:

试试双引号

data = '{"county": {"year": 2002, "stat": "crime"}}'

问题的一部分在于,您试图在用于处理web服务的响应的代码中配置对要调用的web服务的请求

如果您无法在url中传递所需的参数(例如),d3似乎没有为您提供所需的灵活性。要解决这个问题,您必须返回原始JavaScript并构造适当的XMLHttpRequest,如下图所示:。或者,如果您使用jquery或dojo之类的库,可能有更方便的方法来实现同样的功能


一旦您从请求中获得结果,您就可以使用随结果一起发送的数据(假设它是json)并插入d3来可视化。

您的问题很模糊。d3.json()的第二个参数是回调函数。也就是说,在从Web服务器检索数据并将实际数据作为结果后调用它。因此,该函数中的所有内容都假定对Web服务器的调用成功(因此不是该调用的配置)。您能更具体地说明您遇到的实际问题吗?当我尝试加载请求url时,请求url失败。它需要{'county':
{'year':2002,'stat':'crime'}
作为参数来加载我正在寻找的JSON。我希望这能澄清一点。是的,现在我知道你想要什么了。因此,您需要以某种方式在url中对这些信息进行编码(取决于Web服务器支持的内容)。例如d3.json(“,函数(结果){…})。您在问题中尝试的内容不会改变请求,只会改变您处理响应的方式。这是通过SOAP web服务完成的。除了通过URL之外,还有什么方法可以向web服务传递它正在寻找的参数吗?我只是尝试使用jquery U/I控件将stats更改为这两个属性值,这样就不必通过URL加载任何内容,这将非常有益。伟大的资源,但我一定会书签它。当我在后端生成JSON时,需要
{'year':2002,'stat':'crime'}}
才能将JSON吐给我,否则就会失败。