开源 企业版 高校版 私有云 模力方舟 AI 队友
代码拉取完成,页面将自动刷新
捐赠
捐赠前请先登录
扫描微信二维码支付
取消
支付完成
支付提示
将跳转至支付宝完成支付
确定
取消
1 Star 0 Fork 9

寥若繁星/phpquery

forked from wolferhua/phpquery
加入 Gitee
与超过 1400万 开发者一起发现、参与优秀开源项目,私有仓库也完全免费 :)
免费加入
已有帐号? 立即登录
文件
master
分支 (1)
master
该仓库未声明开源许可证文件(LICENSE),使用请关注具体项目描述及其代码上游依赖。
项目仓库所选许可证以仓库主分支所使用许可证为准
master
分支 (1)
master
克隆/下载
克隆/下载
提示
下载代码请复制以下命令到终端执行
为确保你提交的代码身份被 Gitee 正确识别,请执行以下命令完成配置
初次使用 SSH 协议进行代码克隆、推送等操作时,需按下述提示完成 SSH 配置
1 生成 RSA 密钥
2 获取 RSA 公钥内容,并配置到 SSH公钥
在 Gitee 上使用 SVN,请访问 使用指南
使用 HTTPS 协议时,命令行会出现如下账号密码验证步骤。基于安全考虑,Gitee 建议 配置并使用私人令牌 替代登录密码进行克隆、推送等操作
Username for 'https://gitee.com': userName
Password for 'https://userName@gitee.com': # 私人令牌
master
分支 (1)
master
phpquery
/
jQueryServer
/
jQueryServer.js
phpquery
/
jQueryServer
/
jQueryServer.js
jQueryServer.js 5.87 KB
一键复制 编辑 原始数据 按行查看 历史
Tobiasz Cudnik 提交于 2011年05月18日 03:39 +08:00 . Initial commit.
/**
* jQuery Server Plugin
*
* Server-side Ajax requests supporting jQuery manipulations
* before sending content to the browser.
*
* Example:
* $.server({url: ${URL})
* .find('.my-class')
* .client(${CALLBACK});
*
* @version 0.5.1
* @author Tobiasz Cudnik <tobiasz.cudnik/gmail.com>
* @link http://code.google.com/p/phpquery/wiki/jQueryServer
* @link http://code.google.com/p/phpquery/
*/
jQuery.extend({
serverConfig: function() {
if (typeof jQueryServerConfig != 'undefined')
return jQueryServerConfig;
return {};
}(),
server: function(options){
// set default url
if (! jQuery.serverConfig.url)
jQuery.serverConfig.url = jQuery('script[src$=jquery.js]')
.attr('src').replace(/jquery\.js$/, '')
+'jQueryServer.php';
// this is cache object
var objectCache = {};
// dump all jQuery methods, but only once
// $.each doesn't work ?
for( var i in jQuery.fn) {
// closure to preserve loop iterator in scope
(function(){
var name = i;
// create dummy method
objectCache[name] = function(){
// create method data object
var data = {
method: name,
arguments: []
};
// collect arguments
$.each(arguments, function(k, v){
data.arguments.push(v);
});
// push data into stack
this.stack.push(data);
// preserve chain
return this;
}
})();
}
/**
* Fetches results from phpQuery.
*
* @param {Function} callback Optional. Turns on async request.
* First parameter for callback is usually an JSON array of mathed elements. Use $(result) to append it to DOM.
* It can also be a boolean value or string, depending on last method called.
*/
objectCache.client = function(success, error){
// console.log(this.stack.toSource());
// success = success || function(){
// return $result;
// };
$.ajax({
type: 'POST',
data: {data: $.toJSON(this.stack)},
async: false,
// jQuery.server.config ???
url: jQuery.serverConfig.url,
// success: function(response){
// var $result = jQuery();
// $.each(response, function(v) {
// $result.add(v);
// })
// success.call(null, $result);
// },
// success: success,
success: function(response){
if (options['dataType'] == 'json')
response = $.parseJSON(response);
success(response);
},
error: error
})
}
// replace orginal method with generated method using cache (lazy-load)
jQuery.server = function(options){
// clone cache object
var myCache = jQuery.extend({}, objectCache);
myCache.stack = [options];
return myCache;
}
// returen result from new method (only done for first call)
return jQuery.server(options);
}
});
// toJSON by Mark Gibson
if (typeof $.toJSON == 'undefined') {
(function ($) {
var m = {
'\b': '\\b',
'\t': '\\t',
'\n': '\\n',
'\f': '\\f',
'\r': '\\r',
'"' : '\\"',
'\\': '\\\\'
},
s = {
'array': function (x) {
var a = ['['], b, f, i, l = x.length, v;
for (i = 0; i < l; i += 1) {
v = x[i];
f = s[typeof v];
if (f) {
v = f(v);
if (typeof v == 'string') {
if (b) {
a[a.length] = ',';
}
a[a.length] = v;
b = true;
}
}
}
a[a.length] = ']';
return a.join('');
},
'boolean': function (x) {
return String(x);
},
'null': function (x) {
return "null";
},
'number': function (x) {
return isFinite(x) ? String(x) : 'null';
},
'object': function (x) {
if (x) {
if (x instanceof Array) {
return s.array(x);
}
var a = ['{'], b, f, i, v;
for (i in x) {
v = x[i];
f = s[typeof v];
if (f) {
v = f(v);
if (typeof v == 'string') {
if (b) {
a[a.length] = ',';
}
a.push(s.string(i), ':', v);
b = true;
}
}
}
a[a.length] = '}';
return a.join('');
}
return 'null';
},
'string': function (x) {
if (/["\\\x00-\x1f]/.test(x)) {
x = x.replace(/([\x00-\x1f\\"])/g, function(a, b) {
var c = m[b];
if (c) {
return c;
}
c = b.charCodeAt();
return '\\u00' +
Math.floor(c / 16).toString(16) +
(c % 16).toString(16);
});
}
return '"' + x + '"';
}
};
$.toJSON = function(v) {
var f = isNaN(v) ? s[typeof v] : s['number'];
if (f) return f(v);
};
$.parseJSON = function(v, safe) {
if (JSON)
return JSON.parse(v);
if (safe === undefined)
safe = $.parseJSON.safe;
if (safe && !/^("(\\.|[^"\\\n\r])*?"|[,:{}\[\]0-9.\-+Eaeflnr-u \n\r\t])+?$/.test(v))
return undefined;
return eval('('+v+')');
};
$.parseJSON.safe = false;
})(jQuery);
}
Loading...
举报
举报成功
我们将于2个工作日内通过站内信反馈结果给你!
请认真填写举报原因,尽可能描述详细。
请选择举报类型
取消
发送
误判申诉

此处可能存在不合适展示的内容,页面不予展示。您可通过相关编辑功能自查并修改。

如您确认内容无涉及 不当用语 / 纯广告导流 / 暴力 / 低俗色情 / 侵权 / 盗版 / 虚假 / 无价值内容或违法国家有关法律法规的内容,可点击提交进行申诉,我们将尽快为您处理。

取消
提交

简介

phpQuery是一个基于PHP的服务端开源项目,它可以让PHP开发人员轻松处理DOM文档内容,比如获取某新闻网站的头条信息。更有意思的是,它采用了jQuery的思想,你可以像使用jQuery一样处理页面内容,获取你想要的页面信息。
取消

发行版

暂无发行版

贡献者

全部

近期动态

不能加载更多了
编辑仓库简介
简介内容
主页
马建仓 AI 助手
尝试更多
代码解读
代码找茬
代码优化
PHP
1
https://gitee.com/star_code/phpquery.git
git@gitee.com:star_code/phpquery.git
star_code
phpquery
phpquery
master
点此查找更多帮助

搜索帮助

评论
仓库举报
回到顶部
登录提示
该操作需登录 Gitee 帐号,请先登录后再操作。
立即登录
没有帐号,去注册

AltStyle によって変換されたページ (->オリジナル) /