【问题标题】:Javascript GET with name and id带有名称和 ID 的 Javascript GET
【发布时间】:2014-03-12 22:24:29
【问题描述】:

似乎无法解决这个问题...我实际上不确定这是否可能以我正在尝试的方式进行。基本上-我正在构建一个 Chrome 扩展程序来搜索我的数据库中的选定文本。数据库将只接受带有idname 的查询。

这是我正在调用的.js 文件:

function getword(info,tab) {
    console.log("Word " + info.selectionText + " was clicked.");
    chrome.tabs.create({ 
        url: "http://mydatabase.com/contacts" + info.selectionText,
    })
}
chrome.contextMenus.create({

    title: "Search database for '%s'", 
    contexts:["selection"], 
    onclick: getword,
});

我的数据库执行此搜索所需的示例如下:

<form action='http://mydatabase.com/contacts' target='_blank' autocomplete='off' method='post' novalidate>

<input id='Search_ContactName' name='Search.ContactName' type='hidden' value='". $row['COL 2'] . "' class='valid'>

<button class='button'>Find on MyDatabase</button></form>

简单地说,我需要info.selectionText 在上面的.js 文件中有一个nameid ...然后到get 查询到http://mydatabase.com/contacts

不幸的是,我认为我在这方面的知识已经达到了极限。一直在谷歌上搜索,并开始怀疑是否有可能。

任何帮助都会很棒。

【问题讨论】:

  • chrome.tabs.create 将发出 GET 请求,而不是 POST 请求。要POST 它,您可以使用 ajax 或这种技术 - stackoverflow.com/questions/7387217/…
  • 或者,您可以重新配置您的 /contacts 脚本以接受 GET 参数。
  • @levi 我的错误 - 它也会接受 GET 请求。

标签: javascript google-chrome google-chrome-extension


【解决方案1】:

发布表单时,只有字段名称和值作为参数传递,而不是 id。要将info.selectionText 添加为GET 参数,您应该像这样构建您的URL:

url: "http://mydatabase.com/contacts?Search.ContactName=" + info.selectionText

Search.ContactName 是字段名称。

【讨论】:

  • 谢谢!我试过了,但我使用了过滤器而不是搜索。不知道为什么!谢谢!
猜你喜欢
  • 1970-01-01
  • 2015-07-07
  • 2011-08-10
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2017-03-23
  • 1970-01-01
相关资源
最近更新 更多