removed default dataType=json

This commit is contained in:
vitalets 2012-12-07 14:33:34 +04:00
parent 861f91975d
commit 45122fb1c5
4 changed files with 27 additions and 21 deletions

@ -4,6 +4,7 @@ X-editable changelog
Version 1.2.1 wip
----------------------------
[enh] removed default dataType='json' for submit request. Use 'ajaxOptions' to specify dataType if needed (vitalets)
[enh] select: do not show 'sourceError' in element during autotext execution (vitalets)

@ -273,8 +273,7 @@ Editableform is linked with one of input types, e.g. 'text', 'select' etc.
return $.ajax($.extend({
url : this.options.url,
data : params,
type : 'post',
dataType: 'json'
type : 'POST'
}, this.options.ajaxOptions));
}
}

@ -295,12 +295,12 @@ $(function () {
expect(4);
//clear cache
$(document).removeData('groups.php-name1');
$(document).removeData('groups-cache-sim.php-name1');
var req = 0;
$.mockjax({
url: 'groups-cache-sim.php',
responseTime: 200,
responseTime: 50,
response: function() {
req++;
this.responseText = groups;
@ -312,7 +312,6 @@ $(function () {
e2 = $('<a href="#" data-type="select" data-pk="1" data-name="name1" data-value="3" data-url="post.php" data-source="groups-cache-sim.php"></a>').appendTo(fx).editable();
setTimeout(function() {
equal(req, 1, 'one request');
equal(e.text(), groups[1], 'text1 correct');
equal(e1.text(), groups[2], 'text2 correct');
@ -330,7 +329,7 @@ $(function () {
expect(4);
//clear cache
$(document).removeData('groups.php-name1');
$(document).removeData('groups-cache-sim-err.php-name1');
var req = 0;
$.mockjax({
@ -342,17 +341,16 @@ $(function () {
}
});
var e = $('<a href="#" data-type="select" data-pk="1" data-name="name1" data-value="1" data-autotext="always" data-url="post.php" data-source="groups-cache-sim-err.php">35</a>').appendTo(fx).editable(),
e1 = $('<a href="#" data-type="select" data-pk="1" data-name="name1" data-value="2" data-autotext="always" data-url="post.php" data-source="groups-cache-sim-err.php">35</a>').appendTo(fx).editable(),
e2 = $('<a href="#" data-type="select" data-pk="1" data-name="name1" data-value="3" data-autotext="always" data-url="post.php" data-source="groups-cache-sim-err.php">6456</a>').appendTo(fx).editable(),
errText = $.fn.editabletypes.select.defaults.sourceError;
var e = $('<a href="#" data-type="select" data-pk="1" data-name="name1" data-value="1" data-autotext="always" data-url="post.php" data-source="groups-cache-sim-err.php">11</a>').appendTo(fx).editable(),
e1 = $('<a href="#" data-type="select" data-pk="1" data-name="name1" data-value="2" data-autotext="always" data-url="post.php" data-source="groups-cache-sim-err.php">22</a>').appendTo(fx).editable(),
e2 = $('<a href="#" data-type="select" data-pk="1" data-name="name1" data-value="3" data-autotext="always" data-url="post.php" data-source="groups-cache-sim-err.php"></a>').appendTo(fx).editable();
setTimeout(function() {
equal(req, 1, 'one request');
equal(e.text(), errText, 'text1 correct');
equal(e1.text(), errText, 'text2 correct');
equal(e2.text(), errText, 'text3 correct');
equal(e.text(), '11', 'text1 correct');
equal(e1.text(), '22', 'text2 correct');
equal(e2.text(), $.fn.editable.defaults.emptytext, 'text3 correct');
e.remove();
e1.remove();

@ -218,6 +218,9 @@ $(function () {
params: {
q: 2
},
ajaxOptions: {
dataType: 'json'
},
success: function(resp) {
equal(resp.dataType, 'json', 'dataType ok');
equal(resp.data.pk, 1, 'pk ok');
@ -243,26 +246,31 @@ $(function () {
});
asyncTest("params as function", function () {
var e = $('<a href="#" data-pk="1" data-url="post-resp.php">abc</a>').appendTo(fx).editable({
var e = $('<a href="#" data-pk="1" data-url="post-params-func.php">abc</a>').appendTo(fx).editable({
name: 'username',
params: function(params) {
ok(this === e[0], 'scope is ok');
equal(params.pk, 1, 'params in func already have values (pk)');
return { q: 2, pk: 3 };
},
success: function(resp) {
equal(resp.dataType, 'json', 'dataType ok');
equal(resp.data.pk, 3, 'pk ok');
equal(resp.data.name, 'username', 'name ok');
equal(resp.data.value, newText, 'value ok');
equal(resp.data.q, 2, 'additional params ok');
},
ajaxOptions: {
headers: {"myHeader": "123"}
}
}),
newText = 'cd<e>;"'
$.mockjax({
url: 'post-params-func.php',
response: function(settings) {
equal(settings.dataType, undefined, 'dataType undefined (correct)');
equal(settings.data.pk, 3, 'pk ok');
equal(settings.data.name, 'username', 'name ok');
equal(settings.data.value, newText, 'value ok');
equal(settings.data.q, 2, 'additional params ok');
}
});
e.click()
var p = tip(e);