麻烦在Wordpress中结合jQuery和.php

时间:2015-11-09 10:32:55

标签: javascript php jquery wordpress get

我想在这里制作一个简单的翻译网站:http://traductordeinglesaespanol.co/。我创建了一个简单的PHP代码,使用get到外部翻译api工作正常。这是代码:

<?php
if(!empty($_GET['text'])){
  $trans_url ='http://api.mymemory.translated.net/get?q='.urlencode($_GET['text']).'&langpair=en|es'    ;
  $trans_json = file_get_contents($trans_url); 
  $trans_array = json_decode($trans_json, true);    

  echo $trans_array['responseData']['translatedText'];
 }
?>

以下是简单的html表单:

 <form id="form" method="get" action="tran.php">Enter Text to be Translated below:
 <input name="text" type="text" id="test" />
 <button id="but">Translate</button></form>

 <div class="results"></div>

现在翻译工作正常,但我想要做的是使用jQuery获取tran.php结果并将其显示在表单下方的“result”类中。我试图通过以下方式做到这一点:  我通过编辑functions.php文件加载,因此它加载了jQuery和一个名为tran.js的.js脚本。当我检查元素时,我看到jQuery和正在加载的脚本。在脚本中我放了这个基本代码:

jQuery(document).ready(function(){

$('#go').click(function() {

    $.ajax({
         type: 'GET',
         url: 'tran.php',
         success: function(data) {
            $('.result').html(data);
            }
    });
 });
});

并将操作更改为从此页面处理表单。 (tran.php在根目录中。)但它根本不起作用。我怀疑编码中存在一些重要的错误,但作为一个完整的启动者,我无法找到错误的位置,所以任何建议/更正都会受到高度赞赏!

2 个答案:

答案 0 :(得分:0)

你应该这样使用ajax:

var to_be_translated = "Hello";
$.ajax({
    type: 'GET',
    url: 'tran.php',
    data : 'text=' + to_be_translated,
    success: function(data) {
        $('.result').html(data);
    }
});

我在这里添加了&#34;数据&#34;标签,它说JS变量to_be_translated在PHP中将被视为$_GET['text']

答案 1 :(得分:0)

我以某种方式设法让它发挥作用!有一个小错字:

     data : 'text=' + to_be_translated;

我取代了“;”最后用一个逗号,现在我得到的结果是这样的:假设我输入要翻译的文本名称(西班牙语中的nobre!),我明白了:

<!DOCTYPE html> <html lang="en"> <head> <meta charset="utf-8"/> <title>estes</title> </head> nombre 

所以我必须以某种方式摆脱这些标题!无论如何,我非常感谢你的帮助!格拉西亚斯!