2013-10-08 37 views
1

确定,所以我尝试打电话给所谓的“map.html”某个文件流星HTTP“GET”叫

HTTP.call("GET", 
"/client/map.html", 
      {}, 
      function (error, result) { 
      if (result.statusCode === 200) { 
       $("body").html(result.content); 
      } 
      }); 

文件代码:

<template name="map"> 
    <div id="map-canvas" style="width: 1000px; height: 1000px;"></div> 
</template> 

,如果我拿出模板标签该应用程序不会启动“client/map.html:1:在HTML模板中格式不正确”

但添加模板标记不起作用或者我的result.content返回一个空的身体标记,我想我缺乏一个很大的部分流星http呼叫。

参见下面的响应:

<!DOCTYPE html> 
<html> 
<head> 
    <link rel="stylesheet" href="/packages/accounts-facebook/facebook_login_button.css?7b6e74d628e59311774e7b3409bdc3686e70e788"> 
    <link rel="stylesheet" href="/packages/accounts-github/github_login_button.css?4b6d8c2193c93dddce919620b231b5a94e6a9faf"> 
    <link rel="stylesheet" href="/packages/accounts-twitter/twitter_login_button.css?b0667609964694bc045cfee5961cf78e761f82a5"> 
    <link rel="stylesheet" href="/packages/accounts-google/google_login_button.css?6636e1d8ac79bff54828e78df6e3d407e6b6c38e"> 
    <link rel="stylesheet" href="/packages/accounts-meetup/meetup_login_button.css?ea299301e151180110c73c0dad415573cdcc7d67"> 
    <link rel="stylesheet" href="/packages/accounts-ui/login_buttons.less.css?a6791c6bbc0dbffe1967f7603ad5e71a937da2f7"> 
    <link rel="stylesheet" href="/packages/bootstrap/css/bootstrap.css?e5976308949024b827360231c67b6f50ee1cf8c5"> 
    <link rel="stylesheet" href="/packages/bootstrap/css/bootstrap-responsive.css?b66c9c5bfb9556bf343298e3fe6e49c39db8c222"> 
    <link rel="stylesheet" href="/packages/bootstrap/css/bootstrap-override.css?15fa5b55da5c16ed92ffe0c85c0d6aa0867b9c7f"> 
    <link rel="stylesheet" href="/client/stylesheets/ie.css?55d03cbe8dc4482082815585822d80503557fdcb"> 
    <link rel="stylesheet" href="/client/stylesheets/print.css?5d4514803362274f0bd875bc5a9ba81d6e49dbb0"> 
    <link rel="stylesheet" href="/client/stylesheets/screen.css?02fad6adf7c3c0e3b20a75fc5ab594cb1343f993"> 


<script type="text/javascript"> 
__meteor_runtime_config__ = {"meteorRelease":"0.6.5.1","ROOT_URL":"http://localhost:3000/","ROOT_URL_PATH_PREFIX":"","serverId":"NDg93Twm6549DtLMW"}; 
</script> 

    <script type="text/javascript" src="/packages/underscore.js?a1286cdb983623d4d035c8d7cd7a1e8e15274cf5"></script> 
    <script type="text/javascript" src="/packages/meteor.js?701b92c6c05538cfff59c73f747498bf49ff73b1"></script> 
    <script type="text/javascript" src="/packages/standard-app-packages.js?be7072e6abfda638502b63fa0f809c85c8c2b8ed"></script> 
    <script type="text/javascript" src="/packages/random.js?a592658942f32ab31e84c4e67768f13f07a8e4b4"></script> 
    <script type="text/javascript" src="/packages/jquery.js?1a9d113f1f0c905a877e6eb3d97b07a871baa416"></script> 
    <script type="text/javascript" src="/packages/domutils.js?c5d4d4c5629038d1bb6deea7acd7a0512d406fe3"></script> 
    <script type="text/javascript" src="/packages/liverange.js?b3097d72d458e645fd4f0021c8ff5189abe8d98a"></script> 
    <script type="text/javascript" src="/packages/universal-events.js?5bfa39513d2caa4af4f829d7f4907afae3601adf"></script> 
    <script type="text/javascript" src="/packages/ordered-dict.js?bf8af2f26c8d96bf8b2e6b407d3ed69f23c2cd37"></script> 
    <script type="text/javascript" src="/packages/deps.js?5ac28feec1f3e0539889ecde598dd9d01e408b41"></script> 
    <script type="text/javascript" src="/packages/json.js?e22856eae714c681199eabc5c0710b904b125554"></script> 
    <script type="text/javascript" src="/packages/ejson.js?6798aba30085d088a96e75a363ca1a100b990bfd"></script> 
    <script type="text/javascript" src="/packages/minimongo.js?e21b5896248d8b375979901f4f3d4907fd4cb99e"></script> 
    <script type="text/javascript" src="/packages/spark.js?3a050592ceb34d6c585c70f1df11e353610be0ab"></script> 
    <script type="text/javascript" src="/packages/preserve-inputs.js?7b3b8bf0669f1f110126607ecd8488f719344f09"></script> 
    <script type="text/javascript" src="/packages/localstorage.js?66e8e87ffe90dfe2f3f14d2f450a49ac7a33c5b8"></script> 
    <script type="text/javascript" src="/packages/logging.js?e3df5be1604658260b4000a031f1a7b969cb6133"></script> 
    <script type="text/javascript" src="/packages/check.js?a54cf3c7b3abe9208d064621eb80a3ecaf2f4add"></script> 
    <script type="text/javascript" src="/packages/reload.js?acb1a2a618bdea7a55ce912cfcf348b9d89e0876"></script> 
    <script type="text/javascript" src="/packages/livedata.js?a3d111217f95d5af907302198a85413d1acbaf05"></script> 
    <script type="text/javascript" src="/packages/insecure.js?3dc9d4a2dad55999b5b15a447d57f3d5fb66b290"></script> 
    <script type="text/javascript" src="/packages/mongo-livedata.js?a3509c5f9f4ed6ded19eaac97c69c2a91d81df81"></script> 
    <script type="text/javascript" src="/packages/service-configuration.js?65f9d7f8c45ecc9be55a58180bf579558581a9dc"></script> 
    <script type="text/javascript" src="/packages/handlebars.js?c2b75d49875b4cfcc7544447aad117fd81fccf3b"></script> 
    <script type="text/javascript" src="/packages/accounts-base.js?e991c6fc17941a584b1daa1eef54fc838068754e"></script> 
    <script type="text/javascript" src="/packages/accounts-oauth.js?ec0c258ab408470b49f37de355c3b9b55fb044e4"></script> 
    <script type="text/javascript" src="/packages/oauth.js?4aa2e1486aef79113cba73c17e8cad0e9f8d929d"></script> 
    <script type="text/javascript" src="/packages/oauth2.js?228fb002a50ab94e17475623f0e34cd441d691ba"></script> 
    <script type="text/javascript" src="/packages/templating.js?1003705ccf6a397e8fabce961be55b50108d109e"></script> 
    <script type="text/javascript" src="/packages/facebook.js?d13866aba09795d6480224d2f506e89b4e7c179d"></script> 
    <script type="text/javascript" src="/packages/accounts-facebook.js?9e890f917b8ec3c3ea39544407a7e982dbc6d5ae"></script> 
    <script type="text/javascript" src="/packages/github.js?82beb1c17f04292f0007ab4c0a271e837424d8e6"></script> 
    <script type="text/javascript" src="/packages/accounts-github.js?cd8e0996c426b07b63ab8131432e3cbb1bf3f6b9"></script> 
    <script type="text/javascript" src="/packages/http.js?4aec4250e79a92408f1c5e234a52434907239586"></script> 
    <script type="text/javascript" src="/packages/oauth1.js?471ab5c3f6f6f4fca945199077d8319ed535bb3c"></script> 
    <script type="text/javascript" src="/packages/twitter.js?466fe5521ac996774043cc558d751833e3c0fbb3"></script> 
    <script type="text/javascript" src="/packages/accounts-twitter.js?a1c5862c55c6bf951b845bee147062ac1d5fb3d4"></script> 
    <script type="text/javascript" src="/packages/google.js?af3f209a9f621263be5c2ab68480825d47a142f6"></script> 
    <script type="text/javascript" src="/packages/accounts-google.js?9ef9953d728cd324cfd7280e7b31c1b89ce5eed5"></script> 
    <script type="text/javascript" src="/packages/email.js?911578310472ff10dca16a5306b7f455801d0f35"></script> 
    <script type="text/javascript" src="/packages/meetup.js?27dd52a68bc2488380c4f3cebbc1448b2914524a"></script> 
    <script type="text/javascript" src="/packages/accounts-meetup.js?e29b2fa08714acff3636e67fc28938f2a5bc0219"></script> 
    <script type="text/javascript" src="/packages/srp.js?b67965acbe0e0f66edcf4df1e5d061dadedd4216"></script> 
    <script type="text/javascript" src="/packages/accounts-password.js?7194b16ddb1435bc72cb2308aab74d326cf082ff"></script> 
    <script type="text/javascript" src="/packages/reactive-dict.js?22667928acc72f619ce81e7ac1e35def1ba9e0ae"></script> 
    <script type="text/javascript" src="/packages/session.js?5bcd2d86431dc10d5f4be0910cb6567342e1aaf6"></script> 
    <script type="text/javascript" src="/packages/accounts-ui-unstyled.js?7ca43f42462f1bda8a5c7991bfc1e9e842828ca0"></script> 
    <script type="text/javascript" src="/packages/less.js?7d1bf981a25a449d6270558bcfc983313c40cd26"></script> 
    <script type="text/javascript" src="/packages/accounts-ui.js?1ff79db616cce9b320fe8aed6103eded31248467"></script> 
    <script type="text/javascript" src="/packages/backbone.js?9e9aaec07c5a6cc1d46dfab6736beedcd71259dd"></script> 
    <script type="text/javascript" src="/packages/bootstrap.js?86f8f0d5d5a274fd05c4a35c7a7dddb771ce2a0e"></script> 
    <script type="text/javascript" src="/packages/autopublish.js?c3059a78bb200b171099fc4fa1a9345101790ddb"></script> 
    <script type="text/javascript" src="/packages/iron-router.js?2f848a70f81fa257705f5ffa213d4eb31759e02d"></script> 
    <script type="text/javascript" src="/packages/webapp.js?5c7d940d9baab5b893f7e5904e7258ef69e7ef8b"></script> 
    <script type="text/javascript" src="/packages/global-imports.js?390198a974d86e88eddf36f797eba0d2aaade01b"></script> 
    <script type="text/javascript" src="/client/template.map.js?3d91a27fae0def5953c035959799cf274961ab39"></script> 
    <script type="text/javascript" src="/client/template.meetme.js?ddf3af8adada307ad03aab720c4b185bb6b64e44"></script> 
    <script type="text/javascript" src="/client/fb.js?2a3453bba5b8f7e5a39caf4f0fb6016f1b588104"></script> 
    <script type="text/javascript" src="/client/map.js?298fd731353fe8a877a6db486a1c4691ce75a412"></script> 
    <script type="text/javascript" src="/client/meetmeClient.js?67fc7d1913fdc057997e14b359de6937b9da684c"></script> 
    <script type="text/javascript" src="/meetme.js?7761ad0a01c156c23e392a90dda0efd3cf938eed"></script> 
    <script type="text/javascript" src="/router.js?d7e47615c35b162cbbd2c1d5d16bb82aef52149e"></script> 


<title>meetme</title> 
    <script src="//connect.facebook.net/en_US/all.js"></script> 
    <script src="https://maps.googleapis.com/maps/api/js?v=3.exp&sensor=false"></script> 
    <script type="text/javascript" src="http://code.jquery.com/jquery-1.9.1.js"></script> 
    <script src="http://code.jquery.com/ui/1.10.3/jquery-ui.js"></script> 
    <link rel="stylesheet" src="http://code.jquery.com/ui/1.10.3/themes/smoothness/jquery-ui.css"> 
</head> 
<body> 

</body> 
</html> 

回答

1

当你做/client/map.htmlGET通话,你当它进入你的应用程序中的/client/map.html路径的浏览器做同样的事情。所以结果是一样的浏览器 - 呈现整个HTML页面。所以你粘贴的结果是正确的。

你想在这里实现什么?

如果您正在尝试更改应用程序所在的路径并相应地显示模板,则应该查看允许轻松实现的[router]或[iron-router]软件包。如果没有包含window.location方法和巧妙的模板助手的包,你可以做同样的事情,认为它在大多数情况下会重新发明轮子。您可能永远都不想直接在Meteor应用程序中拨打GET到您自己的服务器。

+0

或者如果他正试图渲染模板 - Meteor.render:) – thinklinux

+0

即时通讯只试图添加一个新的div -

当用户点击“添加标记”按钮,该div是谷歌地图,所以用户可以设置一个标记(pin)的一些点,然后我抓住他的标记拉特和局域网坐标,并将它们存储在数据库中。我想使用HTTP.get cuase我没有看到任何理由在模板中使用它,并且每当用户输入该站点时都会渲染它 –

+3

没有实际的“/client/map.html”文件,这就是为什么你看到默认的Meteor响应。流星将您的html模板编译为javascript,并将其作为js文件发送。你可以在这里看到它: 因此你的HTTP GET调用是没有必要的。只需按照建议的@thinklinux呈现模板即可。在这里看到更多的细节: http://docs.meteor.com/#meteor_render – alanning

1

您是否正在尝试从客户端向其他服务器发送请求?在大多数情况下这是不可能的。如果你需要从远程服务器获取数据,并把它添加到您的模板,你应该做的是在服务器端和线下的HTML客户端和追加的HTML数据给你模板这样

//client 
Template.map.rendered = function(){ 
    Meteor.call('get_remote_html_data', function(err, res){ 
      if(res){$('your_selector').html(res)} 
    });  
} 

//server 
Meteor.methods{get_remote_html_data: function(){return http.get(your_remote_url)}}