繁体   English   中英

尝试触发jQuery Mobile Ajax调用

[英]Trying to trigger jQuery Mobile ajax call

我确定这是一个基本的语法错误,但是我正在尝试使用jQuery mobile ajax(下面的代码)进行一次调用,并且据我所知,ajax没有触发。

        function triggerCall() {
            alert("function triggered");
            $.ajax({
                type: "GET",
                dataType: "jsonp",
                url: REST Url,
                success: function (data) {
                    alert(data);
                }
            });

任何帮助,将不胜感激

如果您实际上在写url: REST Url,则必须将其更改为var或字符串。

我相信,如果您使用的是JSONP,则需要在$ .ajax请求中指定回调,然后在REST文件返回中再次指定回调。 这是我一直在成功使用的示例(我确定这并不完美)。

$.ajax({
    url: 'www.domain.com/string/to/your/REST/api',
    data: {
        dataToBeSent: variable, 
        dataToBeSent: sessionStorage.getItem('local/session Storage'),
        dataToBeSend: "or a string"
    },
    dataType: 'jsonp',
    jsonp: 'jsoncallback',
    timeout: 5000,
    success: function(data){    
        alert("Huzzah!");
    },
    error: function(){
        alert("Boohisssss");
    }
}); //end ajax call

然后在url中,将这段代码放在文件的底部:

header("Content-type: application/json", true);
echo $_GET['jsoncallback'] . '(' . json_encode($data) . ');';
exit;

其中数据是使用JSON_encode()在PHP中进行JSON编码的数组,然后包装在回调函数中($ _GET ['jsoncallback'])

就像我说的那样,它并不完美,但它一直在为我工作。

  1. 在浏览器控制台中检查错误。 例如。 在Chrome菜单>工具> JavaScript控制台中。
  2. 还建议将错误处理程序添加到您的Ajax调用中: http : //api.jquery.com/error/
  3. 确定用于宁静的ajax调用的方法是JSONP或CORS: 那么,JSONP或CORS?

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM