2012-12-22 84 views
3

我正在瀏覽一個網頁源代碼並試圖弄清楚搜索是如何執行的。澄清<form action =「?」提交給string.match(「site:mysite.net」)的方法=「post」>

檢查搜索按鈕,然後輸入給了我這樣的:

<h2>Search the MySite.net Forum</h2> 
<form action="?" method="post"> 
<p> 
    <b>Search for:</b> 
    <input type="text" name="s" placeholder="Search..." style='width:90%;' maxlength="255" /> 
</p> 
<p> 
    <p>Search in:</b> 
    <select name="in"> 
     <option value="ft">forum title or text</option> 
     <option value="tt">thread titles</option> 
     <option value="pt">poll titles</option> 
    </select> 
</p> 
<p> 
    <input type="submit" value="Search the MySite.net Forum" /> 
</p> 
</form> 

相關的唯一可用的腳本包含此:

$('#search-submit').click(function() { 
    var q = $('#searchq').val(); 
    if(q.match("site:mysite.net")) { return; } else { $("#searchq").val(q+ ' site:mysite.net'); } 
}); 
  1. 有人能澄清表單屬性action="?"。我不習慣看到這個和POST方法,我以爲它只是爲GET。這是什麼意思?
  2. 我不明白的q.match("site:mysite.net"),我有一個很難找到結腸("site:mysite.net")的含義搜索一個「:」是投擲了我所有的地方。我認爲它正在搜索整個網站,但這看起來不正確。有人能爲我澄清這一點。
+0

http://stackoverflow.com/questions/46585/when-do-you-use-post-and-when-do-you-use-get http://blog.teamtreehouse.com/the -definitive-guide-to-get-vs-post – andrewk

+0

謝謝,但這些並不是我真正想問的。我使用.NET/C#並且在一個RESTful項目上工作。我在JS和jQuery方面很弱,但我理解POST和GET。我不明白動作=「?」從我讀過的內容來看,當方法被定義爲GET時使用它。過去我使用過action屬性來利用腳本,但「?」對我來說是新的,並且使用「?」用POST方法更令人困惑。謝謝。 – brentD

+0

這裏沒有足夠的代碼來描述正在發生的事情。首先,這個事件處理程序綁定到'#search-submit',它選擇'#searchq',它甚至不在你的html中。你可以給你正在看的網站的網址?此外,您可以使用類似螢火蟲或網頁檢查器的內容來查看此代碼實際檢索的網址,或在JavaScript中設定斷點以追蹤執行。 –

回答

3

form標籤的action屬性只指定了形式將數據提交到URL。

matchstring對象正則表達式模式匹配上的方法。

+0

表單使用'POST',我知道它包含它的正文中的值。當使用'action =「post」'時,如果查詢不使用GET來通過地址欄查詢,那麼查詢會如何附加到URL? – brentD

+0

它是'method = post',它的動作設置爲「?」。它不會將表單數據作爲查詢字符串發佈。它會將表單數據發佈到當前的url中,追加。就像你看到''一樣。瀏覽器不會嘗試導航到#。相反,它試圖導航到'#'。 –

2

網站:YourSite爲谷歌縮小其索引到你的站點搜索的命令。某處,你將有一個谷歌的調用

+0

雖然他提供給我們的代碼片段實際上並沒有顯示它發佈到谷歌,但這是合乎邏輯的。 –

+0

所以這是用來搜索一個網站?我正在考慮使用另一個功能來搜索該網站,但您確認它是Google調用 – brentD

0
  1. action="?"將表單提交給當前的URL,使用「?」表示查詢並附加表單數據。該查詢是隱藏的,因爲method = "post",在這種情況下可以使用。不管該方法如何,該表單仍將作爲查詢提交給當前URL。

  2. 匹配是字符串文字,並返回包含文字的字符串。

相關問題