我是ASP.NET的新手,我想知道如何从站点(本例中是Kuler的API )获取xml,然后使用AJAX发布结果?
所以我在这里想要的,是能够对Kuler的API进行查询。URL应该类似于"http://kuler-api.adobe.com/rss/search.cfm?query="+queryVariable
然后以某种方式将生成的xml发送回JS。
如有任何指示,将不胜感激(:
发布于 2009-11-16 21:33:45
您需要做的是有一个处理程序,它将执行对XML的请求,并使用AJAX将其发送回浏览器。它将充当服务器和客户端之间的中介,您不必担心跨域策略。
这就是我在我的一个网站上做的事情。我有一个从jQuery AJAX请求调用的处理程序(让我们叫它proxy.ashx)。proxy.ashx只是在远程URL上执行一个WebClient.DownloadString操作,并将远程响应( XML)发回客户端。
发布于 2009-11-16 21:46:29
我认为Tim说得够多了,但我想补充的是如何处理服务器端请求:
XmlDocument doc = new XmlDocument();
HttpWebRequest r = (HttpWebRequest)HttpWebRequest.Create("http://kuler-api.adobe.com/rss/search.cfm?query="+queryVariable);
r.Method = "POST";
using (Stream writeStream = r.GetRequestStream())
{
UTF8Encoding encoding = new UTF8Encoding();
byte[] bytes = encoding.GetBytes(bodyRequest);
writeStream.Write(bytes, 0, bytes.Length);
}
try
{
using (HttpWebResponse response = (HttpWebResponse)r.GetResponse())
{
using (Stream responseStream = response.GetResponseStream())
{
using (StreamReader readStream = new StreamReader(responseStream, Encoding.UTF8))
{
doc.Load(readStream);
}
}
}
}
catch (WebException ex)
{
//Handle exception
}发布于 2009-11-16 21:30:30
如果可能的话,我会使用Jquery的ajax库在Javascript中完成所有的工作。它使用起来非常简单,而且您不必担心以这种方式将XML从服务器端传递到客户端。
https://stackoverflow.com/questions/1742193
复制相似问题