2010-06-23 164 views
0

此代码不起作用吗?我其实不知道如何使用这个HTTP请求的东西。使用Javascript的HTTP请求

<script language="javascript"> 
function HTTPCALL() 
{ 
    var request = HTTP.newRequest(); 
    request.open("POST", "https://workplace.intuit.com/db/main", false); 
    request.setRequestHeader("Content-Type", "application/xml"); 
    request.setRequestHeader("QUICKBASE-ACTION", "API_GetUserInfo"); 
    request.send( 
    '<qdbapi> 
     <apptoken>c4abnsde36pse7hzurwvjjb4m</apptoken> 
     <email>[email protected]</email> 
    </qdbapi>' 
    ); 
} 
</script> 

对我来说,没有任何反应。我尝试在函数中的任何位置放置一个警报,并且它从不显示。帮帮我!

+2

什么'HTTP.newRequet()'? – SLaks 2010-06-23 20:22:43

+0

什么是QUICKBASE-ACTION? – azatoth 2010-06-23 20:23:46

+0

你让我了。我发现这个代码。我只是试图手动拼凑一篇文章并发送它。 – Jimmy 2010-06-23 20:24:28

回答

2

您无法使用AJAX将请求发送到其他域。
相反,您可以在服务器上创建一个服务器端代理,将该请求转发给Intuit,并将响应转发回客户端。

您还有一个语法错误 - 字符串不能跨越多行。
因此,你的代码甚至不会解析,更不用说执行了。

+0

有没有办法做到这一点呢? – Jimmy 2010-06-23 20:22:39

+2

只有你为Intuit工作。 – SLaks 2010-06-23 20:23:44

+0

必须有某种方式发送帖子到另一个域。我正在努力“联合”我用Intuit平台构建的这个Web应用程序,为此,您必须将XML发布给他们。 – Jimmy 2010-06-23 20:26:18

1

没有任何标准对象称为HTTP。回头看看你有这个代码的地方:它使用的是第三方库,你可以在那里下载它。

无论如何,它只是一个函数定义。你永远不会执行它。

BTW,为JavaScript代码标准的标签是:

<script type="text/javascript"></script>