2014-05-13 44 views
1

我正在嘗試使用TinyMCE的PHP Spellchecker 4.0插件,但在嘗試讓它執行任何實際拼寫檢查時仍然收到Error: Missing input parameter 'text'錯誤。spellchecker插件給我錯誤:缺少輸入參數'文本'

這裏是我的代碼:

<script type="text/javascript" src="tinymce/tinymce.min.js"></script> 
<script type="text/javascript"> 
tinymce.init({ 
    menubar:false, 
    statusbar:false, 
    selector: "textarea", 
    plugins: ["link","spellchecker"], 
    toolbar: "bold italic | numlist bullist | link unlink | spellchecker", 
    force_br_newlines: true, 
    force_p_newlines: false, 
    forced_root_block: '', 
    height: 300, 
    spellchecker_rpc_url: "spellchecker.php" 
}); 
</script> 
<textarea>tgis is misspelled text</textarea> 

您可以測試它在這裏住:

http://www.frostjedi.com/terra/dev/tinymce/test.html

下面就來拼寫檢查程序的版本的鏈接我使用:

http://www.tinymce.com/wiki.php/PHP_Spellchecker

我們編輯Wireshark的,看看有什麼上述被髮送過來,它的這種(通過POST):

{"id":"c0","method":"spellcheck","params":{"lang":"en","words":["tgis","is","misspelled","text"]}} 

和響應我得到:

{"error":"Missing input parameter 'text'."} 

的反應是正確的 - 沒有輸入參數命名文本。但我希望JavaScript在需要時添加它。

我試着做<textarea name="text"><textarea id="text">也無濟於事。

任何想法?

回答

1

該插件已損壞。根據我的OP,它張貼的是json編碼。然而PHP引擎期待非JSON編碼的代碼。從spellchecker\includes\Engine.php

$method = self::getParam("method", "spellcheck"); 
    $lang = self::getParam("lang", "en_US"); 
    $text = self::getParam("text"); 

更換與此得到它的工作對我來說:

global $HTTP_RAW_POST_DATA; 
    $data = json_decode($HTTP_RAW_POST_DATA); 
    $method = $data->method; 
    $lang = $data->params->lang; 
    $text = $data->params->words; 

我認爲這是愚蠢的在其網站上非常醒目地列出的插件不開箱但無論的。

+0

我提交了一個錯誤報告:http://www.tinymce.com/develop/bugtracker_view.php?id=6925 – neubert