jQuery AJAX(GET)-Called PHP模块忽略单个字母a作为传递参数

时间:2016-12-19 10:37:44

标签: php ajax

使用的是jQuery 3.1.1。在$ .get调用中,如果我传递单个字母a(带有encodeURI的大写或小写),则被调用的PHP模块会忽略它。接受并处理任何其他字母。如果我传递2个字母,即使传递的字符串以字母a开头,它们也会被正确处理。我可以通过Firebug看到字母a被传递给被调用的PHP模块,但是没有响应或错误指示。任何想法或建议将非常感激。这是被调用的PHP模块的前几行:

header("Content-type: text/xml");
echo "<?xml version='1.0' encoding='UTF-8'?>";
echo "<response>";

$error = FALSE;

// the first few letters being passed to this module
if (!empty($_GET['params'])) 
    {
        $first_few = urldecode($_GET['params']);
    } 
else 
    {
        $error = TRUE;
        echo '<error>parameters</error>';
    }

其他信息:

主叫代码是:

var params = "params=";
params += String ($('#dogname_start').val());
params = encodeURI(params);
$('#add_appointment').submit(function(event)
    {
        event.preventDefault();
    });
$.get(
    './modules/get_dognames.xml.php',
    params,
    handle_response,
    "xml"   
    );  // end get

我有$ .ajaxSetup({cache:false});设置

更多信息,感谢您的关注和疑问:

运行的环境是: 。 Windows 7 - 64位 。通过XAMPP的本地主机(Apache,PHP和MySQL) 。 Firefox(50.1.0)和IE11 - 这两个问题都是一样的。

使用普通的PHP(5.5.3)。

终于找到了问题 - 它是一个&符编码为XML响应数据中的ASCII代码 - 它与字母本身无关 - 它恰好发生了使用字母a的数据库查找返回了一些带有&符号的数据,在将XML数据流发送回调用模块之前,我将&符号更改为ASCII字符。

感谢那些试图提供帮助的人。

0 个答案:

没有答案